在尝试弄清楚为什么即使服务器资源正常的情况下我的站点响应仍然这么慢之后,我终于检查了Apache的状态并发现:
78 requests/sec - 0.7 MB/second - 8.5 kB/request
256 requests currently being processed, 0 idle workers
看来我的apache在连接方面实在是太累了。任何试图访问我的网站的人都会被列入“等待名单”,直到Apache再次免费。
看来我有两个选择。
A)将最大连接限制提高到256以上。尽管根据本文所述,这并不容易:
默认情况下,MaxClients参数的编译硬限制为256。但是,可以通过重新编译Apache来更改此参数。一些发行版或托管公司将此限制提高到非常高的值,例如512甚至1024,以应付较大的负载。
B)找到占用太多时间的脚本。对我来说,这似乎更加棘手,因为大多数apache进程只是出现然后又消失。另外,我的站点的PHP脚本已进行了很好的优化……并且再次,服务器资源很好:
Server load 2.69 (8 CPUs)
Memory Used 25.33% (2,039,108 of 8,048,804)
Swap Used 1.32% (54,156 of 4,095,992)
我应该选择哪个选项(如果有),应该怎么做?
编辑
详细信息:服务器版本:Apache / 2.2.23(Unix)mod_ssl / 2.2.23 OpenSSL / 1.0.0-fips DAV / 2 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635
HTTP Conf:http : //pastebin.com/yBeLt6mP
家长请求样本:http : //pastebin.com/vzUVDMPR
如果粘贴容器显示异常,则切换文本换行。