httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject DO NOT REPLY [Bug 45464] WebDav filesystem module is extremely slow
Date Fri, 25 Jul 2008 17:16:22 GMT

Vitaly Polonetsky <> changed:

           What    |Removed                     |Added
             Status|NEEDINFO                    |ASSIGNED

--- Comment #3 from Vitaly Polonetsky <>  2008-07-25 10:16:20 PST
First of all I have to say that this bug affects only Windows systems. Or at
least my tests on ubuntu with their version of apache 2.2 it doesn't happen.

I've downloaded the source of 2.0.63. That file (modules/dav/fs/repos.c) was
slightly older. In any case, I've changed the line:
        /* ### Optimize me, dirent can give us what we need! */
        status = apr_lstat(&fsctx->info1.finfo, fsctx->path1.buf, 
                           APR_FINFO_NORM, pool);

Changed the same APR_FINFO_NORM to APR_FINFO_TYPE.

Compiled twice, once with the original value, tested, and then compiled after
the change and tested again.

Now the test and results:
I've set "Dav On" on the icons directory that comes with apache and copied the
files there twice to multiply them (Copy of... , Copy of Copy of...).
That gave me a directory with 620 files.

With the original version of mod_dav_fs (comes with 2.0.63): 9sec.
With the original module recompiled (debug mode): 10sec.
With the patched module (debug mode): 3sec.
With the patched module (release mode): 0.5sec.

The tests were run with this command:
echo ls | time cadaver http://path to apache folder with 620 files/
The last result line is:
0.06user 0.01system 0:00.51elapsed 14%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+664minor)pagefaults 0swaps
Notice the 0:00.51 elapsed time.

If the change I've made is equivalent to your suggested change (I suppose so),
then this is the fix for my bug.

If you need another tests just let me know.

Thank you.

Configure bugmail:
------- You are receiving this mail because: -------
You are the assignee for the bug.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message