服务器响应慢:ps aux显示许多php5-fpm进程

我刚刚完成了我自己的VPS的设置,其规格如下:2 Ghz单核CPU和1 GB RAM。

我正在使用nginx来满足我的web服务器需求。 我安装了Ruby on Rails,Phusion Passenger,mysql和php5-fpm。

我上传了一个WordPress博客,并且遇到了响应速度慢的问题: http : //cl.ly/6Hks 。 请求页面时,CPU负载约为10-20%。

当我看着ps aux,我看到下面的输出:

root 896 0.0 0.3 40916 4080 ? Ss 10:49 0:00 /usr/bin/php5-fpm --fpm-config /etc/php5/fpm/php5-fpm.conf www-data 897 0.1 3.2 66488 33260 ? S 10:49 0:04 /usr/bin/php5-fpm --fpm-config /etc/php5/fpm/php5-fpm.conf www-data 898 0.1 2.0 54660 21084 ? S 10:49 0:04 /usr/bin/php5-fpm --fpm-config /etc/php5/fpm/php5-fpm.conf www-data 899 0.1 3.1 66468 32040 ? S 10:49 0:04 /usr/bin/php5-fpm --fpm-config /etc/php5/fpm/php5-fpm.conf www-data 900 0.1 3.1 66492 32196 ? S 10:49 0:05 /usr/bin/php5-fpm --fpm-config /etc/php5/fpm/php5-fpm.conf www-data 901 0.1 3.1 66984 32300 ? S 10:49 0:04 /usr/bin/php5-fpm --fpm-config /etc/php5/fpm/php5-fpm.conf www-data 902 0.1 3.2 68040 33648 ? S 10:49 0:05 /usr/bin/php5-fpm --fpm-config /etc/php5/fpm/php5-fpm.conf www-data 903 0.1 3.3 68364 33924 ? S 10:49 0:04 /usr/bin/php5-fpm --fpm-config /etc/php5/fpm/php5-fpm.conf www-data 904 0.1 3.3 68348 34088 ? S 10:49 0:05 /usr/bin/php5-fpm --fpm-config /etc/php5/fpm/php5-fpm.conf www-data 905 0.1 3.3 68572 34140 ? S 10:49 0:04 /usr/bin/php5-fpm --fpm-config /etc/php5/fpm/php5-fpm.conf www-data 906 0.1 3.1 66500 32068 ? S 10:49 0:04 /usr/bin/php5-fpm --fpm-config /etc/php5/fpm/php5-fpm.conf 

有很多php5-fpm过程是否正常?

另外,当我执行traceroute到域上的一个静态页面时,它会很快执行,但是当我跟踪wordpress博客时,输出如下所示:

  1 10.15.206.1 (10.15.206.1) 8.832 ms 9.044 ms 19.764 ms 2 p7001.net.upc.nl (212.142.7.1) 22.976 ms 10.605 ms 12.005 ms 3 84.116.244.21 (84.116.244.21) 15.661 ms 14.731 ms 15.406 ms 4 nl-ams04a-ri2-xe-9-1-0.aorta.net (84.116.130.218) 16.405 ms nl-ams04a-ri2-xe-9-0-0.aorta.net (84.116.130.170) 27.288 ms nl-ams04a-ri2-xe-2-3-0.aorta.net (84.116.134.89) 13.824 ms 5 te7-1-10g.ar2.ams1.gblx.net (64.212.107.49) 15.009 ms 208.178.58.193 (208.178.58.193) 14.877 ms 15.392 ms 6 nominum.port-c2.552.406.ar4.lon3.gblx.net (64.210.69.250) 26.768 ms 24.410 ms 21.830 ms 7 81.200.66.253 (81.200.66.253) 27.068 ms 23.849 ms 24.113 ms 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 * * * 14 * * * 15 * * * 16 * * * 17 * * * 18 * * * 19 * * * 20 * *^C 

最终我只是退出这个过程,因为没有结束。

首先,没有像静态/dynamic页面的 traceroute这样的事情。 这是在主机层完成的 。 所以,除非您使用不同的服务器来托pipe静态内容和dynamic页面,否则traceroute在这种情况下不会有帮助。

至于衍生的 php 进程数量 – 这是完全可configuration的,应该平衡你所拥有的资源和你所期望的负载。 事情是你需要尽可能多的进程(可以处理多个并发用户而不用等待队列),但同时又不想完全耗尽你的内存。 如果您的服务器开始交换,性能将严重下降。

你可以通过检查你当前的内存使用情况free -m或者top )来validation这个情况,并且validation你是否在这里没有达到一些限制。

也就是说,我不知道你的统计数据是什么,这是536ms请求时间? 这可能不是很好,但也不是那么糟糕。 试着将这个与一些静态页面和其他PHP应用程序进行比较,看看问题出在哪里。 没有caching的WordPress可能不是在阳光下最快的,但是如果你知道是什么导致了这个问题的话,你可以稍后再尝试优化。