Thursday 1 July, 2010

Improve Firefox performance by enabling HTTP pipelining

Pipelining is a feature designed to improve page-load performance. Normally, HTTP requests are issued sequentially, with the next request being issued only after the response to the current request has been completely received. Depending on network latencies and bandwidth limitations, this can result in a significant delay before the next request is seen by the server.

HTTP/1.1 allows multiple HTTP requests to be written out to a socket together without waiting for the corresponding responses. The requestor then waits for the responses to arrive in the order in which they were requested. The act of pipelining can result in a dramatic improvement in page loading times, especially over high latency connections.

To enable HTTP pipelining in Firefox:

• Type about:config into the address bar and press Return

• Scroll down and look for the following entries:


network.http.pipelining
network.http.proxy.pipelining
network.http.pipelining.maxrequests


• Double-click the network.http.pipelining entry to set it to true

• Double-click the network.http.proxy.pipelining to set it to true

• Double-click the network.http.pipelining.maxrequestsm, type 30 and click OK

• Right-click anywhere and select New > Integer

• Type nglayout.initialpaint.delay and click OK

• Type 0 and click OK

• Restart Firefox


To disable HTTP pipelining in Firefox:

• Type about:config into the address bar and press Return

• Scroll down and look for the following entries:


network.http.pipelining
network.http.proxy.pipelining
network.http.pipelining.maxrequests
nglayout.initialpaint.delay


Double-click the network.http.pipelining entry to set it to false

• Double-click the network.http.proxy.pipelining entry to set it to false

• Double-click the network.http.pipelining.maxrequests entry, type 4 and click OK

• Right-click the nglayout.initialpaint.delay entry and select Reset

• Restart Firefox

Pipelining can also dramatically reduce the number of TCP/IP packets. With a typical MSS (maximum segment size) of 512 bytes, it is possible to pack several HTTP requests into one TCP/IP packet. Reducing the number of packets required to load a page benefits the Internet as a whole, as fewer packets naturally reduces the burden on IP routers and networks.

No comments:

Post a Comment