Apache 进程很多但页面浏览量低

Apache 进程很多但页面浏览量低

我有一个问题,也许您可​​以帮我解答。当我在 00:00 到 00:03 之间执行 ps -aux 时,我得到了大约 30-40 个 apache 进程,但这段时间内的访问量只有 2 个(Google Analytics)。为什么会发生这种情况?所有这些 Apache 进程都在消耗我的 RAM...

提前致谢

答案1

Apache 保留一定数量的“等待操作”进程。该数字在您的 httpd.conf 文件中设置。每当有新请求进入时,Apache 都会将该请求定向到其中一个可用进程。当某些进程未被使用时,该数字可能会略有下降,但通常会有一个下降的下限。

根据您使用“Worker”还是“Prefork”作为流程管理器,设置略有不同:

来自httpd.conf:

prefork MPM

  • StartServers:要启动的服务器进程数
  • MinSpareServers:保持备用的最小服务器进程数
  • MaxSpareServers:保持备用的最大服务器进程数
  • ServerLimit:服务器生命周期内 MaxClients 的最大值
  • MaxClients:允许启动的最大服务器进程数
  • MaxRequestsPerChild:服务器进程处理的最大请求数

工人 MPM

  • StartServers:初始启动的服务器进程数
  • MaxClients:最大同时客户端连接数
  • MinSpareThreads:保持备用的最小工作线程数
  • MaxSpareThreads:保持备用的最大工作线程数
  • ThreadsPerChild:每个服务器进程中的工作线程数
  • MaxRequestsPerChild:服务器进程处理的最大请求数

你可能将“StartServers”和“MinSpareServers”设置得相当高。看看这一页对 Apache 进行低内存优化。

答案2

您还应该注意,Google Analytics 中的访问量仅代表一个客户端已连接。它们不一定表明他们在网站上的活动(Analytics 中有这方面的工具)。您的两个客户端可能打开了多个选项卡或类似情况,严重影响了 Apache。

此外,Apache 进程不会立即消失(除非您告诉它们);00:00 到 00:03 之间的空闲进程可能是来自 00:00 之前的访问者,而 00:00 到 00:03 的 Analytics 不会显示这些进程。3 分钟的窗口对您来说没有太大用处。您最好一次查看一整天或一周的指标,以了解如何最佳地配置 Apache 子进程。

相关内容