Hello again, thanks for your quick responses! Problem solved! :-) my answers below:
> Hi all, > > Le 14/03/2015 15:02, Jarno Huuskonen a écrit : > > Hi, > > > > On Sat, Mar 14, Sebastian Schäfer wrote: > >> Hello there, > >> > >> When moving from Apache proxy to HAProxy we noticed slow connections and > >> frequent disconnects when doing SVN checkouts and commits. > >> The problems seems to be related to SVN >= 1.8.x. > >> > >> > >> Here's how to reproduce the issue: > >> - Set up SVN server 1.8.x with Apache > >> - Configure HAProxy 1.5.x (we use 1.5.5) as standard http/https (or tcp) > >> reverse proxy with a simple backend config like this: > > > > Have you tested if upgrading to 1.5.11 makes any difference ? No - not yet. > >> +++++++++++++++++++++ > >> backend subversion > >> option httpclose > > > > Is httpclose needed w/svn ? > I think this is definitely the issue. > You should enable HTTP keep-alive in your haproxy configuration by > removing "option httpclose". > Have a look at "option http-keep-alive" [1] and "option > prefer-last-server" [2]. This helped! I set instead: no option httpclose Now the performance issue is solved and most checkouts work fine, still some ckeckouts get disconnected. Client message: - Error retrieving REPORT: The server sent an improper HTTP response HAProxy message: - Connection closed during SSL handshake > See also [3] for the changes in svn, which explain the decreased > performance. > > [1] > http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#option%20http-keep-alive > [2] > http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#option%20prefer-last-server > [3] http://subversion.apache.org/docs/release-notes/1.8.html#neon-deleted > > > > >> option forwardfor > >> server mysvn mysvnserv.mydomain:80 cookie A > >> reqirep Destination:\ https(.*) Destination:\ http\\1 > >> +++++++++++++++++++++ > >> - Use an SVN client >= 1.8.x > >> - Try to commit and checkout a larger number of files > >> - You will notice slow connections and disconnects > >> > >> Apparently SVN clients < 1.8 don't cause the problem, I can checkout large > >> repositories without any problems (Maybe related to the serf-library > >> introduced in the 1.8 line). > >> Looks like someone else already ran into the same issue, as you can see > >> here: http://grokbase.com/t/subversion/users/148m7sk22k/haproxy-subversion. > > > > Have you tried http-bulk-updates: no/yes or disabling compression ? Bulk updates always worked, yes. Didn't try to disable compression though. > > And do get any errors etc. on the apache logs ? No errors in Apache log, HAproxy message see above. > >> Any ideas? > > > > What do you get in your logs when svn client fails ? > > (Maybe even try with: no option dontlog-normal, no option dontlognull) > > > > Do you have: no option accept-invalid-http-request or > > no option accept-invalid-http-response in your config ? When adding the last two options all checkouts work! :-) > > And what timeout values do you have in your config ? Timoutout defaults look like this: timeout connect 5000ms timeout client 50000ms timeout server 50000ms > > -Jarno > > > > > -- > Cyril Bonté So summarizing, the backend configuration now looks like this: backend subversion option http-keep-alive no option httpclose no option accept-invalid-http-request no option accept-invalid-http-response option forwardfor server mysvn mysvnserv.mydomain:80 cookie A reqirep Destination:\ https(.*) Destination:\ http\\1 Thanks again and best regards Sebastian

