Monday, November 06, 2006

Editing Firefox Configuration For Improve Performance and Usability

Firefox has many praise worthy features. But, one which stands out above the rest is its ability to be customized. Use the all powerful about:config to optimize Firefox performance and usability. To edit Firefox's configuration, create a new tab and type "about:config" (without the quotation marks) in to the address bar > [Enter]. Below, I have included my favorite tweaks with links to the references for each tweak.

  1. Disable Third Party Cookies: There are many legitimate reasons to use cookies, such as saving passwords on login websites and saving user's preferences for a website. However, there are many reasons why you wouldn't want to use cookies, such as tracking cookies which record your movements on the Internet. Here is a tweak to accept cookies from the originating website but to block third party cookies (link). Third party cookies are usually cookies left behind by advertising companies which sponsor the website. You may choose to block all cookies but, be careful, many websites require cookies. Enter "network.cookie.cookieBehavior" (without the quotation marks). Set the value to "0" to accept all cookies. Set the value to "1" to accept cookies only from the originating website. Set the value to "2" to block all cookies.
  2. Disable Prefetch: Firefox has a prefetch feature which tries to anticipate which links you might want to go to and it downloads those webpages (link). You can disable this feature and download only those webpages in which you want. Enter "network.prefetch-next" and toggle it to "false."
  3. Enable Pipelining: Pipelining is a relatively new technology (link). Normally, a web browser will send only one request to a website's server. In addition, it will wait until it receives a response from the server before continuing. With pipelining, multiple requests are made and the browser does not wait for a response from the server. This cuts down on the time it takes to load a webpage; however, not all web servers support pipelining and you might experience problems using it. To enable pipelining, enter "network.http.pipelining" and toggle it to "true." Do the same for "network.http.proxy.pipelining."
  4. Increase the Maximum Number of Connections: This tweak is more for those who have a broadband connection. It doesn't work well with dial-up and it may even be detrimental. In Firefox, you can open several simultaneous HTTP connections (link). By default, the number of connections is set to "24." I recommend increasing it to "40." If you notice Firefox takes longer to load a webpage, back it down to "32." To change the value, enter "network.http.max-connections" and select modify to change it.
  5. Increase the Maximum Number of Connections per Server: This is a continuation of setting maximum number of HTTP connects. However, in this case, it is the maximum number of HTTP connection to a single web server. The default value is set to "8." But, you can increase the value to "16." To change the value, enter "network.http.max-connections-per-server" and select modify to change it.
  6. Disable Trim on Minimize: If there is one thing Firefox fans have to complain about, it is memory leak in Firefox. There are a number of items which causes Firefox to use an enormous amount of memory. First, Firefox caches webpages as you surf the net. Caching allows for faster reloading of previous viewed webpages. The more caching results in more memory used. Second, many Firefox extensions can cause memory leaks(link). Firefox's trim on minimize is one way Firefox tries to curb memory usage. When you minimize Firefox, the memory used is "trimmed" (i.e. reduced to 10MB). However, the juggling of memory during maximize and minimize Firefox deceases performance. To disable trim on minimize, enter "config.trim_on_minimize" and toggle it to "false."
  7. Optimize Page Rendering: Firefox, by default, waits 250 milliseconds (i.e. 0.25 seconds) before rendering a webpage (link). You can decrease this time to "0." To change the value, enter "nglayout.initialpaint.delay" and set the value to "0."
  8. Increase the Disk Cache: Firefox uses two types of caches. They are the disk cache and the memory cache. Many of you are familiar with the disk cache which stores webpage content for faster retrieval. By default, the disk cache is set to 50MB. You can increase the disk cache to store more webpage content (link). This is especially useful if you use the same websites over and over again. You do not need to edit the configuration to change the disk cache. Instead, go to the menu bar > tools > options >advanced > network tab > under cache, increase the cache to "100MB."
  9. Increase the Memory Cache: While the disk cache is saved on to your hard drive and is accessible until it is deleted, memory cache is cleared when you exit Firefox. You can significantly increase Firefox performance by increasing the memory cache. However, you run in to the same old problem, Firefox using too much memory. If you have at least 512MB of RAM, increase the memory cache to "64MB." To change the memory cache, enter "browser.cache.memory.capacity" and change the value to "65536."
  10. Disable Firefox's Anti-Phishing feature: Some of you might have noticed Firefox 2.0 is significantly slower than Firefox 1.5x in loading a webpage. This because of Firefox 2.0 new anti-phishing security feature. Before loading a new webpage, Firefox matches the webpage you trying to load to a blacklist of know malicious websites. If the webpage does not appear on the blacklist then Firefox will load the webpage. If not, Firefox will display a warning that the webpage you are trying to load is suspicious and might be a malicious site. The process of matching the webpage to the blacklist slows Firefox. If you are confident that you only view safe websites, there is really no need for this security feature. You do not need to use about:config to disable it. Instead, go to the menu bar > tools > options > security and uncheck "Tell me if the site I'm visiting is a suspected forgery" > [O.K.]. (link)

89 comments: