Friday, August 17, 2012

Improve Firefox performance under slow Internet connection.

This scenario is specially true for mobile Internet connections where you may loose connectivity cause of bad network as a consequence, the phone/modem falls backs to GSM data connection which's HORRIBLY slow.

If you hog down these low speed connections with a lot of TCP/HTTP/FTP connections to remote servers, apart from adding a lot of overhead to the tiny Internet connection, there's a lot of packet drops and connection drops (e.g. TCP establishment failure) cause of high latencies (FF or the remote server gives up). Furthermore, FF, by default comes configured for normal speed Internet connection. It normally makes like 50 TCP/HTTP connections to remote servers and keeps them alive. At most it can go 200+ connections. This's surely an overkill for such a delicate Internet connection.

In about:config (typed in the URL bar), the following values can be decreased to improve your Internet connection -- 

network.http.max-persistent-connections-per-server -- Maximum number of HTTP connections FF can keep alive for a single server

network.http.max-connections -- Maximum no. of http connections at once. It's a bad idea to limit this without limiting other http connection values.

 network.http.connection-retry-timeout -- In case there's no response from HTTP/TCP connection, how much time to wait before trying in ms.

 network.http.max-connections-per-server -- Maximum http connections per server.

For professions or IT students -- Limit the number of connections to 2 or 3 servers at a time. But if it the value is too less, FF may hang waiting for a response which it may never get, resulting in manual intervention, until which other pages (which're qued to load) will not load.

For users -- Set network.http.max-persistent-connections-per-server and network.http.max-connections-per-server to 2 if you're 95% sure your Internet connection is slower than all server's.

Set network.http.max-connections to network.http.max-connections-per-server*.

If you want FF to load 2 pages at the same time, and let the 3rd or 4th etc... page wait till the first 2 have loaded, then set this value to network.http.max-connections-per-server*2.
Similarly, if you want  7 pages to load in value set it to *7. For a slow Internet connection, *2 is more than enough.

Set  network.http.connection-retry-timeout between 1000 and 5000 (maximum). Slower your Internet connection (or longer the time it takes to 'connect' to a website), set the value higher.

1 comment: