Home

New Tech Heroes

New Media and Social Publishing

Navigation

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

Tag cloud

Acquia Adobe AIR amateurs Apple blog blogger blogging blogs browsers buyout chris brogan CMS content management Drupal Facebook Firefox flashback funny Gmail Google history HTML Internet Internet Explorer jobs Joomla Microsoft movies new media online Open Source patch Plone privacy radio reputation Safari security SharePoint SilverStripe social social media social networking social publishing spam standards TechCrunch television Tom Kephart upgrade venture capital video virtual conversation Vista vulnerability web WordPress XP Yahoo

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.

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

Post new comment

The content of this field is kept private and will not be shown publicly.
Input format
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <b> <address> <blockquote> <br> <caption> <center> <code> <dd> <del> <div> <dl> <dt> <em> <font> <h2> <h3> <h4> <h5> <h6> <hr> <i> <img> <li> <ol> <p> <pre> <span> <strong> <sub> <sup> <table> <tbody> <td> <tfoot> <th> <thead> <tr> <u> <ul> <tr>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.

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

Popular content

Today's:

  • Going organic with Google's search results
  • Angry journalists have an online place to vent
  • Social publishing across the Digital Divide

All time:

  • JavaScript vulnerability in Drupal prompts 6.1 release
  • Drupal issues maintenance upgrade to 5.7
  • Scoble cries; blogosphere freaks; Jesus returns

Blogroll

Creative Commons License

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

© 2008 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