http connection preferences need optimization

VERIFIED FIXED

Status

defect
VERIFIED FIXED
11 years ago
7 years ago

People

(Reporter: mcmanus, Assigned: dougt)

Tracking

Trunk
x86
Linux

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

11 years ago
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.
(Reporter)

Updated

11 years ago
Blocks: 437953
(Reporter)

Comment 1

11 years ago
Posted file 1008 data points
each data point is a tuple of:
page, network type, parallel connections, max pipeline depth, pageload time (ms)
(Reporter)

Comment 2

11 years ago
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)

Updated

11 years ago
Assignee: nobody → doug.turner
Status: UNCONFIRMED → NEW
Ever confirmed: true
(Assignee)

Comment 3

11 years ago
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
Last Resolved: 11 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.