为每个请求创建了4个进程?

时间:2012-04-25 07:20:11

标签: php apache process load-testing

我们正在对PHP(Kohana)应用程序进行一些负载测试。我们注意到的一件有趣的事情是,每个请求似乎每次创建4个进程,并将服务器上的负载增加4倍。例如,如果有每秒500个用户点击它就会充当500 * 4。

我真的不明白什么可以创造所有这些过程。我的理解是每个PHP请求创建一个线程,它不应该创建进程,尤其不是4.可能是Apache问题吗?还是PHP问题?

我在Google上没有找到任何相关信息。任何可能导致这个问题的建议都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

我的第一个猜测是你只是看到了Apache MinSpareServers设置的效果。 Apache不会在请求到来时启动进程,而是准备好等待。因此,如果将其设置为4,Apache将始终尝试使用活动进程+ 4运行。

它也可能是ThreadsPerChild设置,具体取决于您配置Apache的方式。在这种情况下,每个子节点总是会旋转指定的线程数,以便它们准备就绪。

许多流程或线程不一定是个问题。除等待处理传入流量外,他们可能没有做任何事情。