Tuning Firefox for Speed – enable HTTP Pipelining, etc.

The Internet is amazing, if you have a server in the same country everything seems to happen almost instantly… but with many servers overseas, it’s good to reduce the number of TCP round trips needed to view your web pages.

Web page authors can do all sorts of hacks to make things load faster (e.g.  check out Y-slow), but you can get great improvements just by tweaking your browser settings. Here’s how to do that with Firefox:

essential – HTTP pipelining:

1. Enter ‘about:config’ in the URL bar, and click ‘I’ll be careful’.
2. Search for ‘pipe’.
3. Enable all the pipelining options, if not already.
4. Set ‘network.http.pipelining.maxrequests’ to 100 or some large number.

already – HTTP keep-alive:

5. Search for ‘alive’.
6. Enable all the keep-alive options, if not already (they should be).
7. You can increase ‘network.http.keep-alive.timeout’, but not much need.

optional – paint delay, max connections:

8. Right click, new → integer, name ‘nglayout.initialpaint.delay’, value 0.
9. Search for ‘connections’.
10. You can increase these four max-connections values, but not much need.

All these speed hacks are well-known, but the top-ranking page on Google for
‘firefox pipelining’ was an incorrect blog post by someone who had completely
misunderstood what HTTP pipelining is.  So maybe it’s worth explaining it.

Pipelining just means your browser will send all (or many) outstanding requests
at once, through a single channel; rather than the normal slow cycle:
request 1, read response 1, request 2, read response 2…  So, pipelining
avoids a lot of unnecessary latency, with no need to open parallel connections.

I wrote a somewhat longer page about this, here http://sam.ai.ki/pipelining.html

I hope that this short advice, with correct explanations, will help you enjoy
a better browsing experience with Firefox!  If you have some correction for me,
or other browsing speed tips, please let me know and I’ll update my page.

This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to Tuning Firefox for Speed – enable HTTP Pipelining, etc.

  1. Justus says:

    Be advised: the max-requests field allows for an integer from 1 to 8.
    Setting it to anything higher will simply be ignored…

    And please don’t use the initialpaint.delay setting since it will do two things: 1. the rendering of the webpage will start sooner 2. it will be slower…


  2. lakshmi says:

    nce explaining man….

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s