Apache 2.4 停止服务请求

Apache 2.4 停止服务请求

这是新事物,Apache 作为服务器在 Windows Server 2012 上运行良好。它拥有充足的 RAM 和 CPU,而且这台服务器唯一能做的事情就是充当 Apache 服务器。

我可以重新启动服务,它会运行一段时间,然后停止在所有网站上提供页面。我弄乱了工作线程以找到一条最佳路线,但仍然有问题。

当前在httpd-mpm.conf文件中的设置

<IfModule mpm_prefork_module>
    StartServers             10
    MinSpareServers          10
    MaxSpareServers         20
    MaxRequestWorkers      250
    MaxConnectionsPerChild   3000
</IfModule>

此时我不确定发生了什么,并尝试了各个网站上的几种建议。

服务器规格:Windows 2012 R2 VM 2 GB RAM 1 GB 可用空间 在 SSD 存储上运行

该服务器也连接到同一网络上的 MySQL 数据库,服务器之间没有延迟。

答案1

您可能需要查看 MaxRequestWorkers 设置。根据您的平均内存使用量(如果使用除静态内容以外的任何内容(例如 php),该使用量将相当可观),对于 2G RAM 来说,该数字可能很高。

查看您的平均 Apache 进程大小以获取使用量 x MB。考虑您希望为其他进程保留多少内存 y MB,然后使用此公式计算 prefork。

 (Total RAM – yMB)/xMB = MaxRequestWorkers

另外,你为什么要提高 MinSpareServers?正如Apache 文档

仅在非常繁忙的站点上才需要调整此参数。将此参数设置为较大的数字几乎总是一个坏主意。

如果网站非常繁忙,必须提升内存,那么 2G RAM 是否足够也值得怀疑。启动服务器,事实上即使在只有 2G RAM 的服务器上也可以降低到 2。

如需更多参考,您可以查看Apache 文档针对此问题进行性能调整。

相关内容