This is a discussion on Apache and extra stat64 + lstat64 calls within the Linux Web Servers forums, part of the Web Server and Related Forums category; Hi, I'm trying to squeeze the last bits of performance out or Apache (httpd 1.3.34), so I'...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Hi,
I'm trying to squeeze the last bits of performance out or Apache (httpd 1.3.34), so I'm strace-ing httpd processes to see wht extra work they are doing. Here is one thing I found - when a request for "/some/path/here" is made, Apache goes all the way down to "/some" looking for... I don't know what. Below is the important strace bit. Note that /history/(.*) is a pattern from a RewriteRule that rewrites to /myapp/History.do?.... (myapp is a webapp). So, the first stat64 call below makes sense, because that's the real URI, but what about all the rest? read(6, "GET /history/http://japanese.a"..., 4096) = 283 rt_sigaction(SIGUSR1, {SIG_IGN}, {0x80750e6, [], SA_RESTORER|SA_INTERRUPT, 0x2448c8}, 8) = 0 time(NULL) = 1166257862 stat64("/www/site/htdocs/myapp/History.do", 0xfef92894) = -1 ENOENT (No such file or directory) stat64("/www/site/htdocs/myapp", 0xfef92894) = -1 ENOENT (No such file or directory) stat64("/www/site/htdocs", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat64("/www", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat64("/www/site", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0 lstat64("/www/site/htdocs", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat64("/www/site/htdocs/myapp", 0xfef927e4) = -1 ENOENT (No such file or directory) I think I followed everything described on http://httpd.apache.org/docs/1.3/misc/perf-tuning.html . Any help, tips, or pointers would be much appreciated, so I can get rid of these extra calls. Thank you! |