[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Subversion and KeepAlive

From: Mark Phippard <markphip_at_gmail.com>
Date: Wed, 3 Jul 2013 09:35:20 -0400

I have noted KeepAlive coming up in a few of the Serf threads.

I have been looking at setting up a load-balanced Subversion cluster,
somewhat like what Blair describes in this wiki:

http://www.orcaware.com/svn/wiki/Server_performance_tuning_for_Linux_and_Unix

Anyway, in looking at load balancers, I noted this in the
documentation for HAProxy:

http://haproxy.1wt.eu/

Keep-alive was invented to reduce CPU usage on servers when CPUs were
100 times slower. But what is not said is that persistent connections
consume a lot of memory while not being usable by anybody except the
client who openned them. Today in 2009, CPUs are very cheap and memory
is still limited to a few gigabytes by the architecture or the price.
If a site needs keep-alive, there is a real problem. Highly loaded
sites often disable keep-alive to support the maximum number of
simultaneous clients. The real downside of not having keep-alive is a
slightly increased latency to fetch objects. Browsers double the
number of concurrent connections on non-keepalive sites to compensate
for this. With version 1.4, keep-alive with the client was introduced.
It resulted in lower access times to load pages composed of many
objects, without the cost of maintaining an idle connection to the
server. It is a good trade-off. 1.5 will bring keep-alive to the
server, but it will probably make sense only with static servers.

I do not really have any comments about this, just thought I would share it.

-- 
Thanks
Mark Phippard
http://markphip.blogspot.com/
Received on 2013-07-03 15:35:51 CEST

This is an archived mail posted to the Subversion Dev mailing list.