====== FireFox 속도 최적화 ======
* 불필요한 부가기능을 삭제한다. 단지 사용안함으로 하는게 아니라 **삭제**한다.
* AdBlock Plus의 경우 초기 시작 속도 저하가 심했다. [[https://addons.mozilla.org/en-US/firefox/addon/flash-block/|Flash Block]] 부가기능 등으로 Flash만 막는게 낫다. 아니면 ''plugins.click_to_play'' 설정을 ''false''로 바꿔도 Flash Block의 효과가 난다.
* [[https://addons.mozilla.org/en-US/firefox/addon/classic-compact/|Classic Compact]] 테마로 웹 페이지 공간 최적화.
* 아래 나온 기법들은 사실 다른 브라우저에도 적용 가능 할 듯 하다.
===== FasterFox Lite 설치 =====
* 별로 안 좋다는 얘기가 있음.
* [[https://addons.mozilla.org/ko/firefox/addon/fasterfox-9148/|FasterFox Lite]] 설치
* 환경설정에서 __막강한 최적화__ 선택하거나 혹은 자신에게 맞게 최적화 한다.
===== 프로필 분리 =====
* 웹 개발자의 경우 웹 개발용 부가기능을 가진 프로필과 일반 브라우징용 프로필을 분리해서 개발용 부가기능은 웹 개발 프로필에서만 설치하도록 한다.
* 실제 해본 결과 현격한 성능 차이를 느낄 수 있었다. 확실히 웹 개발 부가기능들은 브라우저 성능을 떨어뜨린다.
* 일반 프로필과 웹 개발 프로필의 테마를 다르게 하여 구분할 수 있도록 한다.
* [[http://www.openjs.com/articles/firefox/faster_firefox_profile.php|웹 개발자의 경우, 웹 개발 부가기능을 다른 프로필로 관리]]를 참조하였으며, 이에 좀 더 덧 붙였다.
- ''firefox -ProfileManager'' 명령 실행
- ''Create Profile'' 버튼 클릭
- **WebDev** 프로필 생성
- WebDev 프로필에 웹 개발 부가기능 설치
- 실행 : 대문자 **-P** 주의할 것.
- ''firefox -P WebDev'' : 웹 개발용 브라우저
- ''firefox -P default'' : 기본 브라우저. 불필요한 플러그인이 적어서 빨리 실행됨.
- 동기화 설정을 통해서 서로간의 북마크 등을 동기화 할 것. 단, 환경설정 동기화는 빼는게 좋음.
- 그냥 ''firefox'' 명령으로 기본 실행할 경우 마지막 실행한 프로필로 실행된다. 이를 방지하려면 **profile.ini**(리눅스에서는 ''~/.mozilla/firefox'' 디렉토리에 있음) 파일에서 default 프로필 항목에 다음을 추가한다. 그리고 나머지 프로필에서는 제거한다.
Default=1
- 이미 파이어폭스가 열려 있는 경우 -P 옵션을 줘도 해당 프로필로 열리지 않고 이미 실행된 파이어폭스의 프로필로 된 창이 열리게 된다. 이때는 **--no-remote** 옵션을 줘서 실행하면 된다.
- 웹 개발 프로필에는
- DOM을 자동 변경하는 부가기능(AdBlock,FlashBlock 등)을 안까는게 좋아 보인다.
- Full Theme는 깔지 말자. Full Theme가 Firefox에 버그를 유발할 수도 있다.
===== 메모리 기반 디스크로 캐시 =====
* 캐시 파일을 HDD가 아닌 램디스크에 저장한다.
* 단점 : 컴퓨터를 껐다켜면 캐시가 초기화 된다.
* SSD는 쓰기횟수에 제한이 있는데, 램을 사용하면 그 횟수를 줄여줄 수 있기 때문에 SSD의 수명 연장에 도움이 된다.
* HDD 속도가 빨라져서 그런지 큰 차이 못느꼈음. 장시간 사용해봐야 정확히 속도 향상을 판단할 수 있을 듯.
* FireFox 프로필 데이터 전체를 메모리기반 디스크로 캐시하는 방식은 [[https://wiki.archlinux.org/index.php/Firefox_Ramdisk|Firefox Ramdisk - ArchWiki]]를 참조한다. 여기선 귀찮아서 패스.
* [[https://github.com/graysky2/profile-sync-daemon|graysky2/profile-sync-daemon]] : 위 작업을 자동으로 해줌.
==== /dev/shm을 이용하는 방식 : 권장 ====
* [[https://wiki.archlinux.org/index.php/Firefox_Ramdisk|Firefox Ramdisk - ArchWiki]] 참조.
* ''/dev/shm''은 임시의 가상 디렉토리로, 이 곳에 저장하는 데이터는 실제로는 램에 저장된다.
* Ubuntu 리눅스에서는 ''/dev/shm'' 과 ''/run/shm''이 동일한 위치를 가리키도록 되어 있다.
- ''about:config''
- ''browser.cache.disk.enabe'' : true
- ''browser.cache.disk.parent_directory'' : ''/dev/shm/firefox-cache''
- ''browser.cache.disk.capacity'' : 캐시 할당량을 KB로 지정. 512MB = 524288, 1GB = 1048576
- ''browser.cache.disk.smart_size.enabled'' : false 이게 켜져 있으면, 파이어폭스가 캐시 파티션의 디스크 용량에 따라 가변으로 캐시 할당량을 결정한다. 이 때문에 램 용량을 제대로 사용할 수 없게 된다. HDD 기반 캐시를 할 때만 이 값을 true로 줄 것.
==== 램디스크를 정말로 만드는 방식 ====
* [[http://ubuntuforums.org/showthread.php?t=991205|리눅스에서 램디스크에 캐시 저장]]
* ''/dev/shm'' 이 설정돼 있다면 램디스크 방식은 비권장.
- 램디스크를 만든다.
sudo mkdir /media/ramdisk
sudo mount -t tmpfs -o size=512M,nr_inodes=10k,mode=0777 tmpfs /media/ramdisk
- '' about:config''
- ''browser.cache.disk.enabe'' : true
- ''browser.cache.disk.parent_directory'' : ''/media/ramdisk/firefox-cache''
- ''browser.cache.disk.capacity'' : 캐시 할당량을 KiB로 지정.
- ''browser.cache.disk.smart_size.enabled'' : false
- 램디스크 영구 저장 **/etc/fstab** 파일에 다음 추가
tmpfs /media/ramdisk tmpfs size=512M,nr_inodes=10k,mode=777 0 0
==== MS Windows에서의 램디스크 방식 ====
파이어폭스 프로필 전체를 램디스크로 이전하는 방법은 [[http://downloadsquad.switched.com/2010/11/10/how-to-move-the-firefox-or-chrome-cache-to-a-ram-disk-and-speed/|How to move the Firefox or Chrome cache to a RAM disk and speed up surfing by 20% or more]]를 참조한다.
===== 메모리 캐시 전용 =====
* 램디스크 캐시와 비슷하긴 한데, 이 방식은 파이어폭스가 원래 하고 있는 메모리 캐시만 극대화하고 디스크 캐시는 꺼버리는 방식이다.
* 장점 : 램디스크를 만들지 않으면서도 램디스크를 사용하는 수준의 캐시 향상. 메모리 사용량이 파이어폭스가 켜졌을 때만 증가.
* 단점 : 파이어폭스를 끌 때마다 캐시가 초기화 된다.
* [[http://downloadsquad.switched.com/2010/11/11/speed-up-firefox-page-loading-time-without-using-a-ram-disk/|Speed up Firefox page loading time without using a RAM disk]]를 참조하였다.
- ''about:config''에서
- browser.cache.disk.capacity : 0
- browser.cache.disk.enable : false
- browser.cache.memory.capacity : 원하는 값 설정(KB). 이 기능을 취소시 기본값인 **-1**로 되돌릴 것. http://kb.mozillazine.org/Browser.cache.memory.capacity 참조.
- browser.cache.memory.enable : true
===== Cache 정보 확인 =====
* ''about:cache'' : 현재 캐싱된 데이터 량과 종류 확인
* ''about:config''에서 **browser.cache**로 필터 확인