2 processes reproducible read same file with different speed

cronfy cronfy at sprinthost.ru
Fri Nov 27 02:45:39 UTC 2009


I've noticed a very weird behavior of 2 Apache processes that shold read 
the same file to process a request (they configured to read it on every 
request). One spends about 6ms to read the file, and second spends about 
114ms (I used ktrace to find this out). Every time, on every request, 
the problem is reproducible. Apaches are the same, the only difference 
between them that they are working from different users to serve 
different sites. Same binary, same config.

First Apache used to work in the same way some time ago - it spent 
~120ms to read the file. But once it changed and now it is working fast.

Restarts of Apache do not look to affect on anything.

The file that Apache should read is 315k long. Apache reads it by small 
blocks of 4096 bytes each. May be FreeBSD has some memory about how 
process is working with files and after some time enables some 
optimization or caching?.... I just do not have any clue... :(

Can anyone explain this please?

More information about the freebsd-questions mailing list