Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!


Click here to return to the 'Why not on by default?' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
Why not on by default?
Authored by: kerim on Nov 13, '02 11:53:52AM

Wow. it is a lot faster. Why isn't it on by default? Is there some problem caused by it which might make them choose not to turn it on? I couldn't see anything in the FAQ...



[ Reply to This | # ]
Why not on by default?
Authored by: tfd311 on Nov 13, '02 05:03:59PM

If in fact this does turn on HTTP KeepAlive, this would drastically increase the number of active threads handled by the web server at a given point, this is one reason for not using this as a default setting. This increases the workload handled by the server as the client sessions are changed from a stateless connection to a persistent connection, requiring the server to keep open threads instead of re-using them. In a nutshell, it reduces connection time as a session can re-use the same thread instead of opening a new one, but it causes a larger performance hit to web servers handling the sessions.



[ Reply to This | # ]
KeepAlive different from Pipelining
Authored by: zzen on Nov 14, '02 05:30:33PM
No, KeepAlive is what you actually meant. KeepAlive is an option (can be turned off both on the browser side and on the server side) in which the client and server can reuse the open connection. This does have somewhat impact on the server, since the connection (and hence thread/process) remains open (in case the client did not close it correctly) for a certain amount of time before it times out. My webserver had about 10% processing hit when ALL clients were using KeepAlive. That's not that much, considering you do less process forking and handle all requests much faster.


Pipelining in contrast enables the client to ask for several files at once, without having to wait for the end of the first transmission. The server can also send any file in chunks, interleave the requested chunks as needed etc. This actually reduces both server load and network load, is generally friendly to everyone, network infrastructure including.


The reasong it's turned of by default is because it could introduce bugs, both on the untested client-side and on the server-side, since there could be servers not handling pipelining as they should...


Go read the Mozilla FAQ somebody else pointed out.



[ Reply to This | # ]