ARM*_*ali 1 configuration mpm-prefork centos6.5 apache-2.4
我管理一个 Centos 6.6 服务器(使用 cpanel 过期许可证/也许这并不重要),它有 8 个内核和 64GB RAM,当它达到 250 到 300 个同时连接时,我的 HTTP 服务器变得非常慢。
当我发现 mpm prefork 配置作为提高服务器性能的解决方案时,我在 httpd.conf 文件及其所有包含的文件中寻找参数,但什么也没有。看起来我的 apache 使用默认的 mpm 参数。
所以我尝试添加一个新配置,并通过我的 mod_status 网页注意到最大客户端数量的一些变化。当我将ServerLimit和MaxClients 的值设置为小于 256 时,服务器状态显示会发生变化,但是当我尝试使用大于 256的值时,它只会停在 256 处。
这是服务器状态页面的简明版本,MaxClients和ServerLimit设置为257,但它在 64 个工人的 4 行中正好显示 256 个插槽。与http://apache.org/server-status 比较
Server Version: Apache/2.4.10 (Unix) OpenSSL/1.0.1e-fips mod_bwlimited/1.4
Server MPM: prefork
Server Built: Jan 23 2015 21:04:30
--------------------------------------------------------------------
Current Time: Thursday, 12-Feb-2015 19:15:49 CET
Restart Time: Thursday, 12-Feb-2015 19:13:41 CET
Parent Server Config. Generation: 266
Parent Server MPM Generation: 265
Server uptime: 2 minutes 8 seconds
Server load: 0.76 0.66 0.63
Total accesses: 7771 - Total Traffic: 296.0 MB
CPU Usage: u3.76 s.62 cu77.6 cs7.05 - 69.6% CPU load
60.7 requests/sec - 2.3 MB/second - 39.0 kB/request
256 requests currently being processed, 0 idle workers
WWWWWKWKWKWWRRWWWKKWKKWWWKKWWWCKKKWWWWWKKWCWWWWWKKCWWKKWKCWKRCWW
WWWKKKKKWKWKWWWCWWKKWWRWKKRWWCWKWWWWKKKKKKWKCKWKKKKKWCWKCWWWKWRW
KWKKCKKKWKWKWWKLWWWKWWKCCCWKWWKKKKKWKWWKWWKKKWKWWCCRKKCCWKKWKWCW
CWKKRKKWWKRKKWWWWKWWWKWWKKWKKKWWWKWWWKLKWWKWWKKKKWWWKWWKRKWKWCWW
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题 ?实际上,我需要调整 prefork 参数才能同时为 10000 个客户端提供服务。使用 NGINX 来提供静态文件对我来说是不可能的。
我还想在运行时获得有关 MPM 配置的更多信息。
任何线索?
编辑:这是我添加的 mpm 配置部分
<IfModule prefork.c>
Mutex default mpm-accept
# BEGIN : CUSTOM CONFIGURATION - all the following code is added by me
# StartServers 6
# MinSpareServers 6
# MaxSpareServers 12
## Whatever the value (> 256) I enter for those two parameters, it doesn't exceed 256 in runtime (as shown in server-status page)
ServerLimit 512
MaxClients 512
# END : CUSTOM CONFIGURATION
</IfModule>
Run Code Online (Sandbox Code Playgroud)
使用上面两个未注释的参数,我无法弄清楚如何增加 256 限制。有什么遗漏吗?
我已经解决了这个问题。
问题:高于 256 的 ServerLimit 和 MaxClients 值不生效,它们停留在 256。每次我在 httpd.conf 中更改内容,然后使用以下命令重新启动 apache:
# httpd restart
Run Code Online (Sandbox Code Playgroud)
什么都没有真正改变。
解决方案: 确保 httpd 完全停止,然后重新启动。对我有用的命令而不是上面的命令:
#httpd stop
#httpd start
Run Code Online (Sandbox Code Playgroud)
看起来应该停止所有 apache 服务器实例,以考虑为 MPM 设置的新限制。
感谢您的回复,如果我错了,请纠正我。
| 归档时间: |
|
| 查看次数: |
8788 次 |
| 最近记录: |