[Catalyst] DProf
Octavian Rasnita
orasnita at gmail.com
Sat Nov 3 14:01:07 GMT 2007
From: "Jon Schutz" <jon+catalyst at youramigo.com>
> If benchmark testing isn't showing the fault, it's likely that it is
> data-dependent, i.e. it depends on something in the request or response
> - something that the benchmark doesn't trigger.
>
> Perhaps clients are left lingering - an incorrect Content-Length could
> cause that. I've also seen apache get stuck in busy wait states when
> proxying through to a remote site that is not responding correctly.
> Your top output is very likely an indication that some requests are not
> being served to completion.
I've tried to put ab to run more concurent connections in order to check how
occupied will be the processor, and with:
ab -n 1000 -t 1000 -c 35 [URL]
the processor was occupied sometimes 4 to 9% and sometimes 49 to 80%. Now is
weekend, and there are very very few visitors on my site, and I can assume
that my requests were the only requests, so no other strange requests target
my server.
> You could try (as root)
>
> netstat -nap | grep http
I've tried and the latests results are below the message, but I can't
interpret them. I am not a very good Linux user unfortunately.
> to see what network connections the httpd processes are holding open.
>
> lsof may also tell you something useful.
I have also ran that command and grepped the results that contain "http" and
from all the results ~ 5000, aproximately 4000 contain "http".
> Try attaching an strace to one of the busy httpds to see what system
> calls it is doing.
>
> The difficulty with the mod_perl environment is that your httpd
> processes are polluted with everything else that is happening on your
> server - PHP etc - so what perl is responsible for is obscured. Testing
> in a fastcgi environment is better in this respect since perl and apache
> are separated. If you are able to try fastcgi, it might reveal some
> further insights.
I have never used FastCGI so for the moment I am not able to try it right
now.
Here is the result of netstat -nap | grep http
tcp 0 0 :::80 :::*
LISTEN 4069/httpd
tcp 0 0 :::443 :::*
LISTEN 4069/httpd
tcp 0 5823 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2930
FIN_WAIT1 4554/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2941
FIN_WAIT2 4502/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2943
FIN_WAIT2 4498/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2942
FIN_WAIT2 4475/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2936
FIN_WAIT2 4501/httpd
tcp 0 8743 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2939
FIN_WAIT1 4506/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2920
FIN_WAIT2 4555/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2893
FIN_WAIT2 4488/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2892
FIN_WAIT2 4553/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2949
FIN_WAIT2 4522/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2948
FIN_WAIT2 4531/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2951
FIN_WAIT2 4527/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2950
FIN_WAIT2 4528/httpd
tcp 0 8743 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2945
FIN_WAIT1 4532/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2944
FIN_WAIT2 4545/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2947
FIN_WAIT2 4534/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2946
FIN_WAIT2 4480/httpd
tcp 0 0 ::ffff:81.196.156.249:80 ::ffff:81.180.162.194:2952
FIN_WAIT2 4558/httpd
unix 3 [ ] STREAM CONNECTED 19581118 4558/httpd
unix 3 [ ] STREAM CONNECTED 19581114 4554/httpd
unix 3 [ ] STREAM CONNECTED 19581055 4555/httpd
unix 3 [ ] STREAM CONNECTED 19581035 4553/httpd
unix 3 [ ] STREAM CONNECTED 19580355 4545/httpd
unix 3 [ ] STREAM CONNECTED 19579178 4534/httpd
unix 3 [ ] STREAM CONNECTED 19579165 4532/httpd
unix 3 [ ] STREAM CONNECTED 19579161 4531/httpd
unix 3 [ ] STREAM CONNECTED 19578452 4528/httpd
unix 3 [ ] STREAM CONNECTED 19578450 4527/httpd
unix 3 [ ] STREAM CONNECTED 19577652 4522/httpd
unix 3 [ ] STREAM CONNECTED 19577325 4506/httpd
unix 3 [ ] STREAM CONNECTED 19577269 4502/httpd
unix 3 [ ] STREAM CONNECTED 19577265 4501/httpd
unix 3 [ ] STREAM CONNECTED 19577203 4498/httpd
unix 3 [ ] STREAM CONNECTED 19577086 4488/httpd
unix 3 [ ] STREAM CONNECTED 19577025 4480/httpd
unix 3 [ ] STREAM CONNECTED 19577009 4475/httpd
Thank you.
Octavian
More information about the Catalyst
mailing list