Closed Bug 448805 Opened 16 years ago Closed 16 years ago

http connection preferences need optimization

Categories

(Firefox for Android Graveyard :: General, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: mcmanus, Assigned: dougt)

References

Details

Attachments

(2 files)

User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1
Build Identifier: m5

mobile/app/mobile.js specifies http prefs of pipelining on, 1 connection per server, pipelining depth of 2.. I have some data showing that to be sub optimal for a wide variety of network and data conditions. 

Right now this is a placeholder bug for "this has to change". I will add some data and recommendations of new values to future comments.

Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Blocks: 437953
Attached file 1008 data points
each data point is a tuple of:
page, network type, parallel connections, max pipeline depth, pageload time (ms)
This seems to be the sweet spot - concurrency 4, pipeline depth of 6.

# HG changeset patch
# User Patrick McManus <mcmanus@ducksong.com>
# Date 1217625656 14400
# Node ID eea980050ebab59a9a024d5450d2c4390713fec5
# Parent  fb6e7b6c3dd3c940409813df3929126c621bd319
change default http settings to concurrency of 4 per server (leaving
room for a couple on other servers) and pipeline depth of 6. Derived
from a data set of 7 sites, 8 simulated mobile networks, and 18
combinations of concurency and pipeline depth. Data and
rationale attached to bugzilla as

https://bugzilla.mozilla.org/attachment.cgi?id=331987
and
https://bugzilla.mozilla.org/attachment.cgi?id=331985

diff -r fb6e7b6c3dd3 -r eea980050eba app/mobile.js
--- a/app/mobile.js     Fri Jul 25 18:44:05 2008 -0500
+++ b/app/mobile.js     Fri Aug 01 17:20:56 2008 -0400
@@ -53,12 +53,12 @@ pref("network.http.pipelining", true);
 pref("network.http.pipelining", true);
 pref("network.http.pipelining.ssl", true);
 pref("network.http.proxy.pipelining", true);
-pref("network.http.pipelining.maxrequests" , 2);
+pref("network.http.pipelining.maxrequests" , 6);
 pref("network.http.keep-alive.timeout", 600);
-pref("network.http.max-connections", 4);
-pref("network.http.max-connections-per-server", 1);
-pref("network.http.max-persistent-connections-per-server", 1);
-pref("network.http.max-persistent-connections-per-proxy", 1);
+pref("network.http.max-connections", 6);
+pref("network.http.max-connections-per-server", 4);
+pref("network.http.max-persistent-connections-per-server", 4);
+pref("network.http.max-persistent-connections-per-proxy", 4);

 /* session history */
 pref("browser.sessionhistory.max_total_viewers", 0);
Assignee: nobody → doug.turner
Status: UNCONFIRMED → NEW
Ever confirmed: true
changeset:   93:dda9a96868a8
tag:         tip
user:        Patrick McManus <mcmanus@ducksong.com>
date:        Fri Aug 01 17:20:56 2008 -0400
summary:     change default http settings to concurrency of 4 per server

Great work Patrick.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
verified with mxr.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: