You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Mark Phippard <ma...@gmail.com> on 2013/07/03 15:35:20 UTC
Subversion and KeepAlive
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/
Re: Subversion and KeepAlive
Posted by Branko Čibej <br...@wandisco.com>.
On 03.07.2013 16:07, Branko Čibej wrote:
> I do have a comment; it specifically assumes the clients are browsers,
... and that the servers host web sites; important distinction there, too.
--
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. brane@wandisco.com
Re: Subversion and KeepAlive
Posted by Branko Čibej <br...@wandisco.com>.
On 03.07.2013 15:35, Mark Phippard wrote:
> 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.
I do have a comment; it specifically assumes the clients are browsers,
where you cannot in really predict when the next "GET" will arrive.
With Subversion, Serf and HTTPv2, you can predict that, and the
"slightly increased latency" has a much larger impact on performance.
This was demonstrated any number of times during ra_serf development.
-- Brane
--
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. brane@wandisco.com