2 processes reproducible read same file with different speed

Ivan Voras ivoras at freebsd.org
Mon Nov 30 13:30:05 UTC 2009


cronfy wrote:
> Hello.
> 
> 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?

In addition to the other reply you got, there could also be a problem of 
different link speeds. If one user is connected by a slower link any you 
are doing blocking send()-after-read() operation, this will account for 
requests being processed at different speeds.



More information about the freebsd-questions mailing list