我如何知道是否需要运行更多的Apache2服务器实例?

我正在运行一个Django Web应用程序,并且在我的主Web服务器上有4个运行ModPython的Apache实例。 我在前端运行Nginx,Nginx代理所有的Django url到apache服务器池。

我如何知道是否需要运行更多的Apache实例来处理增加的负载? 我有几个有关超时的抱怨,我首先想到的是没有足够的Apache实例在运行。

更新:更正,我正在运行有4个subprocess的Apache的一个实例。 它们在Linux上使用“ps -ef | grep apache”显示为5个不同的进程。

你不需要像这样在同一台服务器上运行Apache的单独实例,你只会消耗更多的内存。 如果需要的话,可以使用一个具有多个子项的Apache设置(具体取决于您在此使用的“子项”的工作者模型可能意味着多个进程中的进程,线程或线程)。

如果问题是“没有足够的Apache来服务请求”,我会期望50倍的错误(从Apache直接或从Nginx),而不是超时(除非你的用户看到的错误从Nginx 50倍的错误页面,说它超时等待Apache处理一个长请求或接受一个新的)。

您需要获得关于用户所看到的“超时”的更多细节,因为这可能是很多事情 – 错误可能来自他们的最终,nginx,apache,您的python代码或您的数据库。

此外,监视内存使用情况(包括交换),CPU负载和I / O吞吐量,以便在下次报告超时时能够看到是否存在明显的问题线索。