Release of mod Subversion (mod_svn) 1.7.8

Started by mario, December 26, 2012, 10:33:55 PM

Previous topic - Next topic

mario

Release of mod Subversion (mod_svn) 1.7.8

As usual you can find it on our download page.

Any problems? Any comments? Post below.

kmradke

Anyone else seen excessive memory use by mod_dav_svn when exporting large files?

I'm using httpd-2.2.22-ssl-x64 and mod_svn-1.7.8-x64 on a windows 2008 server.

I have a single repository containing 1 680MB .iso file which is not very compressible.  The revision file is around 650MB.

If I do an svn export http://server/repo/path/to/file.iso I see the httpd.exe process use almost 10GB of RAM on the server.

If I enable an output filter, memory use on the server is reasonable at 300MB.
SetOutputFilter DEFLATE

This is the opposite behavior I would expect.  I am unable to reproduce this behavior on unix using the same httpd version and mod_svn 1.7.5.  (I tried mod_svn 1.7.5 on windows and it also over allocated memory.)

I can see httpd.exe allocating around 200MB/sec of RAM on the server before it gets to the 10GB mark.  Once the export is finished RAM usage returns to around 34MB.  I have disabled almost all other modules, but the behavior remains.

Gregg

Just a thought, in an .htaccess file, turn off MMAP and turn on SendFile, this should keep Apache from even touching the file, it will just send it along. In 2.2.x, Sendfile is on by default so maybe something like;


<Files ~ "\.iso$">
    EnableMMAP Off
</Files>





kmradke

In this case, mod_dav_svn is just generating a response to a REPORT request.  (The svn client isn't actually doing a GET request to the exact file name).

I have both SendFile and EnableMMAP set to off in httpd.conf, but I tried various combinations with no change in behavior.

mario

You may try

DAVMinTimeout 1900
LimitXMLRequestBody 0
LimitRequestBody 0
Timeout 1900

kmradke

Already had everything except DAVMinTimeout specified.  (My Timeout value was 3600 instead of 1900.)  Unfortunately the same memory usage persists when not using the output filter.

Gregg

C:\!svn.h.a.o2\httpd\branches\2.4.x>svn up
Updating '.':
svn: E175002: Unable to connect to a repository at URL 'https://svn.apache.org/repos/asf/httpd/httpd
/branches/2.4.x'
svn: E175002: OPTIONS of 'https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x': SSL handshak
e failed: SSL disabled due to library version mismatch (https://svn.apache.org)

Please include what version of OpenSSL the module & bins where compiled with, or better, include them in the zip.

Problem w/ anything compiled against OpenSSL, it can be picky.

Anyhow, I tried 101c, 101e, 098x & 098y, get this or and ordinal popup.