Network Tweaks for Firefox

Frustrated at low network speed? Welcome to the club.  I've tried all available extensions (that I knew of) to speed up the network and they do work to a point. But if you're like me, the search for improving network speed will continue on indefinitely.

When you request pages in Firefox, depending on what you have requested first, Firefox will request and wait for the respective response one at a time. Like you, I typically open several tabs within Firefox and make multiple requests at once; thus slow the network down. HTTP pipelining is a technique which multiple HTTP requests are written out to a single socket without waiting for the corresponding responses and is only supported in HTTP1.1. Enabling HTTP1.1 forces the network to fit multiple HTTP requests in the same transmission control protocol ("TCP") packets thus fewer TCP packets are sent over the network which reducing load time and speeding up the network.  Unfortunately, not all servers support pipelining and some servers may even behave incorrectly if they receive pipelined requests.   

All of the above statements is also true for proxy server.

Solution 1 - Tweak network settings 

1) On the address bar, type about:config.  You'll see a warning, "This might void your warranty! Blah...blah..." Just click on "I'll be careful, I promise!" to proceed.

2) The window will display all of your current configuration settings.  On the filter bar, search for the following preferences and set them as recommended below.

     (a) network.http.keep-alive must be set to "true."
     (b) network.http.version must be set to "1.1".
     (c) network.http.proxy.version must be set to 1.1".
     (d) network.http.pipelining must be set to "true" to use pipelining in HTTP 1.1 connections.
     (e) network.http.proxy.pipelining must be set to "true."
     (f) network.http.pipelining.maxrequests. This preference determines the maximum number of requests to pipeline at once.  The default value is 4 but you can change the number of requests depending on your preference (I set mine to 20.)  Note higher values will cause a delay before the first request completes but will make the last request completes sooner.   Higher values will also cause more of a delay if a connection fails. 

3) Last but not least, right click anywhere on the screen and select New / Integer.  Name it "nglayout.initialpaint.delay" and set its value to "0."  This preference reduces the browser wait time to zero before it acts on the information it receives.

Solution 2 - Firefox extensions

 (1) Fastestfox - Browse Faster allows you to tweak many network and rendering settings such as pipelining, cache, DNS cache, and initial paint delay. You can access these settings via Tools / Fastest Fox.
 (2) Cleeki - Firefox Accelerators, a superior alternative to IE8 Accelerators.
 (3) Tweak Network.  A tool that allows you to tweak your network settings.
 (4) Vacuum Places. In Firefox 3, bookmarks and browsing history are stored in places.sqlite file, located in Firefox profile folder. Defragment your places.squite database will help speeding up Firefox.
 (5) Update Notifier notifies user when updates are available for your extensions and themes.  This is a "must have" extension since, as you'll see below, up-to-date extensions will help managing your network speed.

Known Firefox extensions that either have memory leak or slow down network speed:

 (6) DownThemAll may cause network slows down to a halt. 
 (7) Filterset.G.Updater AND FlashGot cause memory leak when use these extensions together. The solution is to update to version or higher.
 (8) Firebug uses excessive CPU, Firefox may hang when a pop-up window is accessed.  The solution is to either uninstall Firebug, disable it, or use Firebug Lite, if possible.
 (9) FireFTP may cause excessive CPU usage with older version of Firefox.  The solution is to keep Firefox updated.
(10) FlashGot causes memory leak.  The solution is to update or uninstall ForecastFox|10n or not to use it at all.
(11) ForecastFox also causes memory leak.
(12) FoxyTunes may cause memory leak.
(13) Google Browser Sync causes excessive CPU usage. The solution is to uninstall the extension.
(14) IE Tab.  This is a great extension for web developers who need to see how their work rendered in IE but also known to cause memory leak. So, make sure that you have the latest version of Firefox which has code written to detect memory leak. Also, use IE Lite instead of IE Tab, this would reduce memory usage as well. Unfortunately, IE8 Lite has not yet been developed. Personally, I use to see how my website rendered in multiple browsers.
(15) iMacros causes excessive CPU usage.  The solution is to make sure you have the latest version of this extension.
(16) ImgLikeOpera with "refresh images in tab on select" causes excessive CPU usage.  The solution is to turn "refresh images in tab on select" to "off."
(17) Mouseless Browsing causes excessive CPU usage.  The solution is to uninstall this extension.
(18) Session Saver also causes memory leak.
(19) SwitchProxy Tool causes new Firefox windows to freeze for a few seconds.  The solution is to disable or keep this extension up-to-date.
(20) Tabbrowser Extensions (TBE) causes general slowdown. The solution is to disable or uninstall the extension.
(21) ThinkVantage Password Manager Extension causes new Firefox window to delay a few seconds when opened.  The solution is to disable or uninstall this extension.
(22) User Agent Switcher reinstallation or update may cause Firefox to hang.  The solution is to uninstall older version (prior to 0.6.4) in Safe Mode before installing a new version.
(23) Web Developer causes excessive CPU usage (quite obvious.)  The solution is to disable this extension and enable it when necessary.
(24) Wiz RSS News Reader update causes Firefox to hang.  The solution is to uninstall the older version (prior to 2.0.0) in Safe Mode then install the updated version.
(25) Woot Watcher causes Firefox to hang or slow Firefox down.  The solution is to uninstall this extension.
(26) Yahoo! Toolbar causes excessive CPU usage.  The solution is to uninstall via Tools / Add-ons / Extensions. 



Post a Comment