Thursday 24 December 2009

Performance Tuning Firefox

Firefox Tweaks for increased Speed and Performance

This article has been written specifically about improving the performance of the FireFox browser. If you are having problems regarding performance in general then I would suggest looking into other areas first before tweaking your browser settings.

I have written a specific article about performance tuning your PC, Network and Browser here: blog.strictly-software.com/2009/12/performance-tuning-your-pc-and-internet.html

The following guide should only be attempted by those people who are comfortable with changing core application settings. For those people who want to increase browser performance without fiddling about with the configuration I would recommend the following:

-Use the free to download application FireTune which will modify some of the same settings that I am going to list automatically.

-Use the TuneUp Utilities Application which will modify some FireFox settings as well as numerous other settings related to Browser performance, TCP/IP settings, Disk space, registry, un-used programs, CPU and Memory management and numerous other performance tweaks.

Otherwise go to about:config in the address bar of FireFox and enter the "here be dragons" section.

Most of these options will already exist but if they don't you can add them to the config by right clicking, selecting New (boolean, string, integer) adding the the correct name and then the correct value. Obviously if the value is a number you choose integer and if its true or false boolean otherwise its a string.

Before doing any changes you should make a backup either manually by writing down current settings or using FireTune to do a backup or just copy the current settings from C:\Program Files\Mozilla Firefox\defaults\pref. Obviously if you saved your version of Firefox somewhere other than Program Files then you should look there.

Do a page load speed test before and after any changes from www.numion.com/stopwatch to see if the changes have made any difference always making sure that the browser cache is cleared before each test to make the comparisons fair.

To find out what each tweak does just append the full name to this URL


e.g


network.http.max-connections = 30
network.http.max-connections-per-server = 15
network.http.max-persistent-connections-per-proxy = 24
network.http.max-persistent-connections-per-server = 8
network.http.pipelining true
network.http.proxy.pipelining true
network.http.pipelining.firstrequest false
network.http.pipelining.maxrequests 8
network.http.request.max-start-delay 0
network.prefetch-next false
network.ftp.idleConnectionTimeout 300
network.http.keep-alive.timeout 30
browser.history_expire_days_min 10
browser.cache.memory.enable true

The following option depends on your RAM
  • For RAM over 2GB I use 65536
  • For RAM sizes between 512MB and 1GB, start with 15000.
  • For RAM sizes between 128MB and 512M, try 5000

The following article will list out the default values for this option.


browser.cache.memory.capacity = 65536 (see above for details)


content.interrupt.parsing[boolean] true
content.switch.threshold[integer]=650000
content.max.tokenizing.time[integer]=3000000
content.maxtextrun[integer]=8191
content.notify.backoffcount[integer]=200
content.notify.interval[integer]=100000
content.notify.ontimer=true
content.notify.threshold[integer]=100000
network.dnsCacheEntries [integer] 255
network.dnsCacheExpiration [integer] 86400
config.trim_on_minimize[boolean] true
nglayout.initialpaint.delay[integer] 100

This setting will disable 3rd party cookies from being saved. The possible values are 0 which accepts all cookies, 1 only accept cookies from the same server and 2 disable all cookies. Set it to 1 to block 3rd party cookies.

network.cookie.cookieBehavior 1

Optional - May increase performance but will also reduce usability so choose carefully

Limits the maximum number of pages stored in memory in such a way that they don’t have to be re-parsed when pressing Back and Forward. If you, like me, are not using the Back and Forward buttons that much but rather tabs then I see no reason for Firefox to keep a lot of memory with this.

browser.sessionhistory.max_total_viewers change to 1 (default: -1)

Disable Extension Compatibility Checks so that each time you load Firefox it doesn't check for new versions of your extensions. You must remember to do this manually from time to time if they stop working though!

extensions.checkCompatibility = False
extensions.checkUpdateSecurity = False

Stop Displaying Website Icon (Favicon) in Address bar & On Tab

browser.chrome.site_icons = False

Cool tweaks - Non Performance related

layout.spellcheckDefault 2 - extend spellcheck to form elements inputs as well as textareas
browser.blink_allowed = false - 'disable blinking text from <blink>
browser.search.openintab true - opens any search results from the search bar in a new tab instead of overwriting existing one

Open View Source in your favourite editor e.g Editplus

view_source.editor.external=True
view_source.editor.path= Path of Editor e.g C:\Program Files\EditPlus 2\editplus.exe

You also often have a lot of tabs open? This setting will decrease the minimum width of the tab so that more fits in before you need to scroll to see more tabs.

browser.tabs.tabMinWidth change to 70

To Enable Single Click Select URL of address bar use the below about:config Tweak

browser.urlbar.clickSelectsAll = True

To disable Single Click Select

browser.urlbar.clickSelectsAll = False

Auto Complete URL while You type at address Bar

browser.urlbar.autoFill true

This is a good hack to trim down that huge auto-complete list on your URL bar. By default it displays maximum 12 URL

browser.urlbar.maxRichResults (pick a number from 1 to 12)

1 comment:

Danny Smith said...

Great article as always, keep it up your doing some great stuff on this blog.

I would suggest using defraggler to degrag your hard disk regularly and CCleaner to clean your registry and remove PUPS and other crap apps leave behind when uninstalled.