Closed Bug 103070 Opened 23 years ago Closed 23 years ago

No new connections issued when waiting for timeout

Categories

(Core :: Networking, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla0.9.6

People

(Reporter: t8m, Assigned: darin.moz)

References

()

Details

(Keywords: regression, Whiteboard: proxy)

Attachments

(1 file)

I'm using a squid proxy to connect to internet. In the fix of the bug 83526 the Mozilla was limited to make no more than 2 connections per server. But it's VERY BAD when it means that we make no more than 2 connections per PROXY. Because for all pages we use the same proxy. How to reproduce: 1. Set Mozilla to use some proxy for HTTP req. 2. Open page www.tweakers.net in one window. (It blocks loading waiting for connection timeout on some pictures.) 3. Try to open some other page in another window. No new connections are issued before the www.tweakers.net finishes loading. It's very long time depending on how long timeout is set on the proxy for trying to connect.
Depends on: 83526
Keywords: regression
Whiteboard: proxy
sounds like we should consider a different setting for proxy connections. reporter: please add the following pref to your prefs.js file: pref("network.http.max-persistent-connections-per-server", 2); and change 2 to a larger value to verify that it helps.
Status: NEW → ASSIGNED
Priority: -- → P2
Target Milestone: --- → mozilla0.9.6
Actually this is the same bug as my bug 101535, which was marked "Wontfix" With Darin's pref set to 20 the problem is fixed, (Proxy enabled.) but the pref is removed from prefs.js at shutdown. I'm happy to see, that my comments in bug 95499 and bug 101535 have finally some good result.
coen: the difference here is that the problem only shows up when connected via a proxy server. i tested IE6 and it allows up to 4 connections to a proxy server, but no more than 2 to a web server.
I'm always connected via proxy server. That's complete normal for me. So normal, that sometimes I forget to write it down :-)
The setting helped here too. I think that 4 is probably still too little. Maybe 10 if using a proxy is enough. But then the proxy could issue even 10 connections to the same server. Correct sollution would be to limit the maximum number of connections per HOST part of URL not per real peer when using a proxy. I think that MSIE has much shorter timeout for the beginning of transaction but it is made longer when some data arrives. So the problem is not so much visible in MSIE.
benc, can you help craft an 0.9.5 relnote for this one if you think it warrants one? coen, what is this pref setting that works around the problom?
The pref is in Darin's comment from 2001-10-04 11:35 > reporter: please add the following pref to your prefs.js file: > pref("network.http.max-persistent-connections-per-server", 2); > and change 2 to a larger value to verify that it helps. Everything larger works nice. Unfortunately, the pref is removed after mozilla is closed. So it should be added again before starting mozilla.
the pref can be modified in defaults/init/all.js to make it "sticky"
Interesting comments in all.js: // if network.http.keep-alive is true, then a new connection will only be // attempted if the number of active connections to a host is less then // network.http.max-persistent-connections-per-server. if a http proxy server // is enabled, then the "server" is the proxy server. Otherwise, "server" is // the http origin server. The 2 connections per proxy is a known problem / limitation.
yes, indeed. the limit of 2 connections per server (=proxy) probably only makes sense if pipelining is enabled, and even then it may not be appropriate. currently, we don't have http/1.1 pipelining, so i have no problem bumping up this number for proxy connections.
Comment on attachment 55885 [details] [diff] [review] v1.0 patch: allows up to 4 persistent connections per proxy server > // if network.http.keep-alive is true, then a new connection will only be >-// attempted if the number of active connections to a host is less then >-// network.http.max-persistent-connections-per-server. if a http proxy server >-// is enabled, then the "server" is the proxy server. Otherwise, "server" is >-// the http origin server. >+// attempted if the number of active connections to the origin server is less attempted directly to the origin server? This pref won't stop us creating 4 connections to an origin server via a proxy. >+// then network.http.max-persistent-connections-per-server. > pref("network.http.max-persistent-connections-per-server", 2); r=bbaetz I presume we'll reconsider this when we do pipelining, based on perf data.
Attachment #55885 - Flags: review+
yeah, you're right... i should make it clear that max-persistent-connections-per-server only applies when directly connected to the internet. and, yes... we'll most likely need to revisit these numbers once pipelining becomes a reality.
OS: Linux → All
Hardware: PC → All
Comment on attachment 55885 [details] [diff] [review] v1.0 patch: allows up to 4 persistent connections per proxy server sr=mscott
Attachment #55885 - Flags: superreview+
fixed-on-trunk
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: