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

Load Balancing Question

From: Cory Omand <coryomand_at_gmail.com>
Date: 2006-02-23 21:08:00 CET

Hi,

I'm currently running 3 instances of Subversion behind a Pound load
balancer. So far, I have worked through various issues with high latency
network connections, and other interesting side-effects of having a system
in between the client and mod_dav_svn/mod_authz_svn. However, I still have
an open question regarding how Subversion itself will perform when load
balanced.

Because I am using no session tracking at all for Subversion connections,
multiple requests made by the svn client may be served by different backend
workers. For instance:

# client runs svn co against the load balancer
1: PROPFIND /repo/!svn/vcc/default handled by worker-1
2: PROPFIND /repo/!svn/bln/1513 handled by worker-2
3: PROPFIND /repo/real/checkout/path handled by worker-3, response code 401
(Authz Required)
4: PROPFIND /repo/real/checkout/path handled by worker-3, response code 207
(Multi-Status)
[...]
N: REPORT /repo/!svn/vcc/default handled by worker-2, response code 200 (OK)
# client checkout complete

My question is this: is there any performance reason why a single client
operation should *not* be balanced in the above manner? Is there any state
held within mod_dav_svn that would benefit from having requests such as 1-4
above served by the same worker? Or are each of these PROPFINDs
"independent" such that balancing them across N workers actually improves
performance with no downside?

Regards,
Cory.
Received on Thu Feb 23 21:11:57 2006

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