dean gaudet wrote:

>On Tue, 4 Sep 2001, Brian Pane wrote:
>
>>* Collectively, stat and open comprise 5% of the total CPU time.
>>  It would be faster to do open+fstat rather than stat+open (as
>>  long as the server is delivering mostly 200s rather than 304s),
>>  but that might be too radical a change.  Anybody have thoughts
>>  on this?
>>
>
>linux' dcache makes either method about the same cost, but on other
>kernels, and especially when NFS is involved (because of how NFS path
>resolution occurs), the open/fstat is much better.  the trick would be to
>cache open filehandles so that fstat can be used.
>
I realized that it's now possible to do open+fstat in 2.0 even without
changes to the core: just create a custom module consisting of a
map_to_storage function that bypasses directory_walk() and a handler
that does apr_file_open() and apr_file_info_get().  I tried a prototype
this morning and found that it "does the right thing": no stats, just
open followed by fstat.

This approach isn't suitable for all users, of course.  It's not
very useful for people who depend on directory_walk(). :-)  But
for sites delivering a lot of traffic from NFS filesystems, using this
technique in a custom module could substantially reduce NFS server load.
--Brian


Reply via email to