Home

New Tech Heroes

cutting out the media middleman

Navigation

  • Home
  • About
    • Site rules
    • Privacy policy
    • Contact
    • About Tom Kephart
Home

Thought provoking

  • iTunes Drops Most Copy Protection, Varies Prices
  • iTunes May Drop Most Copy Protection, Vary Prices
  • Why Your Self-Handicapping Excuses Don't Work (And How to Fix Them)
  • You are the President of Your Career
  • Do ads work?
more

Tag cloud

Acquia amateurs Apple blog blogger blogging blogs browsers buyout cell phones CMS content management critical Drupal Facebook Firefox flashback friendfeed funny Gmail Google history HTML Internet Internet Explorer jobs Joomla media Microsoft new media newspapers new tech offline online Open Source patch Plone privacy radio reputation Safari security SharePoint social media social networking social publishing spam television Tom Kephart upgrade video virtual conversation virus Vista vulnerability web Web 2.0 Windows WordPress Yahoo

pipelining

Firefox speed tweak may do more harm than good

Submitted by Tom Kephart on Mon, 01/28/2008 - 11:47pm.
  • Comcast
  • Firefox
  • Google
  • maxrequests
  • pipelining
  • throttling

A popular tweak to Firefox may actually result in slower internet surfing if used improperly. Tests by New Tech Heroes show that setting the "pipelining" configuration setting to an excessively high number appears to result in throttling by either the user's ISP or by individual websites, or both.

Pipelining is a feature of the HTTP/1.1 internet protocol, which is part of the basic control structure of the Internet, what makes it work, if you will. Pipelining allows multiple HTTP (internet data) requests to be sent at the same time without waiting for an answer from the target web server. This generally results in faster web page load times, however, HTTP/1.1 is supported by most, but not all, web servers, so the pipelining technique doesn't always work. Also, if you're surfing the web on a dial-up connection, pipelining does you no good at all.

Browser support for pipelining is also variable. Internet Explorer, even in version 7, doesn't support it. Some reports suggest Opera does so by default. Firefox has pipelining turned off by default, but it can be activated by accessing Firefox's configuration page by typing "about:config" (without the quotes, of course) into the address field. This gives the user control over pretty much every setting used by the browser and any add-ons you have installed. Naturally, you want to be very careful when accessing this page, so you don't change a setting that causes Firefox not to function properly.

The problem with the pipelining setting is that several articles and blogs have recommended changing the "maxrequests" setting to 30 or more simultaneous HTTP requests. First, according to Mozilla's knowledge base, the number needs to be "any integer from 1 to 8 inclusive," which seems to imply that Firefox will only send a maximum of 8 HTTP requests at a time in any case. So setting it to anything larger than 8 isn't going to give any additional benefit. Second, consider that web servers have a limited ability to handle requests for data. Certainly it varies from server to server and network to network, but every server has a limit at which it can no longer handle data requests, and when that limit is approached or reached, the response time from that server degrades, not just for the user who reached the limit, but for all users currently trying to connect to it. So setting the "maxrequests" to 30 would also be a selfish behavior, and could result in the server's owner implementing methods to restrict such excessive data requests in order to maintain overall server reliability.

And it appears that is happening. New Tech Heroes Test Labs tried a number of settings for "maxrequests" in Firefox today, and discovered that values from 2 to 4 resulted in occasional disruption of web page loading, while settings from 5 to 8 resulted in the disruption every time we tested. Specifically, images loaded very slowly or not at all on the Google Image page we chose as our test page.

Methodology

All tests were run on a PC running Windows XP Home. We opened a blank Firefox (version 2.0.0.11, with "about:blank" as our home page) browser window with a single tab, and then directed the browser to "www.google.com." "IBM logo" was used as our search term, and after the web page search results were displayed, we clicked "Images" to see Google's display of matching images to our search term. The "network.http.pipelining.maxrequests" setting was then changed in about:config, the browser closed, and then relaunched in the same method as described. The test was repeated for each integer value from 2 to 8 inclusive (setting "maxrequests" to 1 disables pipelining regardless of the value of "network.http.pipelining"). Our Firefox browser was configured to clear its cache and all other "private data" each time it closes, so there were no images pre-loaded from test to test.

NOTE: The same test was run using Internet Explorer 7, Opera 9.25 and Safari for Windows 3.04. In each case, the browser was set to its default settings. None of these browsers experienced any page loading difficulties when the "IBM logo" Google Image search was run.

Test results

  • With a "maxrequests" value of 5 through 8, Google displayed only the first two images of the 18 that should have been shown. The other 16 displayed only Firefox's placeholder for loading graphics. After waiting from 10 to 30 seconds, the other images finally appeared, although with the value at 7, the images never loaded at all. Each integer value was attempted 15 times.
  • With a "maxrequests" value of 3 or 4, the performance of the test search was more variable. Only twice out of 25 attempts did the behavior described about occur.
  • With a "maxrequests" value of 2, no problems with the test Google search were observed in 25 tests.

Analysis

We're uncertain whether the throttling of HTTP requests was being done by Google at its web server or perhaps by our ISP (Comcast). Certainly Comcast has been in the news in the past year for placing limits on excessive bandwidth use by its customers (using BitTorrent and similar peer-to-peer networking applications), but does have to maintain its network's reliability to all users and so may be filtering pipelining requests as well. Or Google may be limiting such excessive pipelining requests at the server level. The exact source of the apparent throttling, however, is less significant than the evidence that setting the "maxrequests" value to anything higher than 2 may result in slower page loading, not faster as suggested by some of those promoting the tweak (and especially anyone claiming that setting the value to 30 is beneficial).

The New Tech Heroes recommend using Firefox's pipelining option, but also recommend keeping the "maxrequests" value between 2 and 4. Try different settings for yourself and use the highest value that doesn't result in degraded page loading behavior.

Turning pipelining on in Firefox

To turn the Firefox pipelining feature on, type "about:config" into the address field (no http://, just about:config). Scroll down to the settings for "network.http.pipelining" and "network.http.pipelining.maxrequests" (a shortcut is to type "pipelining" into the Filter: field). By default, pipelining should be set to "false."

Double-click the "network.http.pipelining" line to change it to "true." Then double-click the "network.http.pipelining.maxrequests" line. A small window will pop up. Type a value from 2 to 8 (again, we recommend 2, but 3 or 4 may also work for you). Click "OK" to close the window. Close the "about:config" page and close Firefox. When you launch the browser the next time, pipelining will be on.

We welcome comments from other users who have experienced this behavior, especially anyone with knowledge about whether the source of the throttling is likely to be Comcast or Google (or both).

Bookmark/Search this post with:
  • Delicious
  • Digg
  • StumbleUpon
  • Reddit
  • Magnoliacom
  • Newsvine
  • Google
  • Technorati
  • Icerocket
  • 2 comments

New Tech Heroes

Editor: Tom Kephart

Grab the RSS feed
or subscribe by email

Add to Technorati Favorites

View Tom Kephart's profile on LinkedIn

Blogroll

Show the world you know
what you mean
when you say
"When all else fails,
you can always fsck."

Hats, shirts and other gear for the discriminating consumer.

Creative Commons License

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

© 2009 Kephart & Associates, Marine City, Michigan. Our privacy policy.
Powered by Drupal. Customized theme based on Tapestry by RoopleTheme.
Web hosting by pair Networks.

Kephart & Associates