上周我在 OVH 优惠中购买了名为 SP 的专用服务器。我无法正确配置它。
我的参数是:
RAM 32 GB 核心 4 线程 8 硬盘 2x 120GB SSD 连接 100 Mbps
有关专用服务器的更多信息,请参见:在此处输入链接描述
我的apache2.conf文件:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
<IfModule mpm_worker_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
当在线流量超过 500 位用户时,我的页面 (关联) 故障,但服务器正常。我使用 wordpress 3.2 和 wp quick cache。
Cpu < 1-10%,内存 < 小于 2 GB,磁盘繁忙 < 1-10% 连接 14Mbps
我安装了页面速度(Google)我禁用了 mod:headers、mod_authz、expires、deflate、setenvif、autoindex
答案1
当流量超过 500 名用户时
根据您的配置,您已将 MaxClients 设置为 150。检查 Apache 错误日志中是否达到了 MaxClients 限制,根据您的发行版,它可能出现在以下几个地方:
- /var/log/httpd/错误日志
- /var/log/apache2/error.log
如果您达到了 MaxClients 值,而您的服务器并未将其资源最大化,那么稍微提高限制可能是安全的。所有这些都需要随着时间的推移进行监控和调整,因为资源使用情况在很大程度上取决于您的应用程序代码,并且不可能真的说“这是具有 32GB RAM 的服务器的配置,等等”。
您可以阅读有关常见 Apache 指令的更多信息这里。
答案2
当流量超过 500 名用户时
这是一个毫无意义的指标。
但服务器没问题
这再次毫无意义。
这两种 Apache 配置看起来都很糟糕 - 您尝试过什么来解决问题?您可能首先要确定您正在运行的是 pre-fork 还是 LWP 服务器。实际上,您可能应该使用 pre-fork。我建议从以下方法开始:
StartServers 20
MinSpareServers 10
MaxSpareServers 20
MaxClients 300
MaxRequestsPerChild 1000
确保已启用 Keepalive,且超时时间为 2 或 1。
您的 PHP 如何连接到网络服务器(应该是 mod_php)。
我安装了页面速度(Google)
您指的是 mod_pagespeed 吗?为什么?
我禁用了 mod:headers、mod_authz、expires、deflate、setenvif、autoindex
为什么?放回 mod_deflate 并配置它以压缩所有 html、css、javascript 和 PHP 输出。
将 mod_headers 和 mod_expires 放回去 - 您需要它们来正确配置缓存 - 然后配置适当的缓存。
接下来,禁用 mod_pagespeed 并调整您的网络服务器。
接下来安装并配置操作码缓存。
然后安装并配置 w3 total cache。
一旦所有这些运行良好,就添加一个反向代理(varnish 或 nginx)并再次启用 mod_pagespeed - 但这次要正确调整它。