Questions tagged «mpm-prefork»

多处理模块(MPM)实现了一个非线程的,预分支的Web服务器,该服务器以类似于Apache 1.3的方式处理请求。



1
调优Apache2 prefork MaxClients ServerLimit
我有一台具有128 GB Ram的计算机,该计算机使用Apache2作为Web服务器(在这台计算机上没有数据库服务器,数据库计算机是一台64 GB Ram计算机,可以处理2000个最大连接)。我通过监视工具看到,目前大约有44名忙碌的工人和12名闲置的工人,对于我的前叉模块来说,什么是最佳理论值? 我有时会在高负载时间加载网站时出现空白页面,并且在我的Apache错误日志中看到此错误: [注意]子pid 13595退出信号分段错误(11) 怎样才能解决这个问题呢? 我的Apache2 Prefork模块配置: StartServers 3 MinSpareServers 3 MaxSpareServers 5 ServerLimit 3200 MaxClients 3100 MaxRequestsPerChild 0 在www机器上的Free -h: 总计:128 G可用:97 GB(运行apache2)共享的0b缓冲区1.9G缓存23G Apache2和其他程序使用的Ram: Private + Shared = RAM used Program 96.0 KiB + 61.0 KiB = 157.0 KiB sh 176.0 KiB + 26.0 KiB …

2
如何在Ubuntu 14.04服务器上调整Apache
当前在Ubuntu 14.04上的Apache 2(确切地说是Apache 2.4.7)上,我有以下设置: /etc/apache2/mods-enabled/mpm_prefork.conf <IfModule mpm_prefork_module> StartServers 20 MinSpareServers 100 MaxSpareServers 250 MaxRequestWorkers 150 MaxConnectionsPerChild 0 </IfModule> 该服务器是一台8GB(RAM)的Amazon服务器,只不过为某些Google广告系列加载了一个三页的注册表格。 我在网上找到了一个名为apachetuneit.sh的脚本,但是过了一会儿Apache才报告此错误: [2015年2月21日星期二16:45:42.227935] [mpm_prefork:错误] [pid 1134] AH00161:服务器已达到MaxRequestWorkers设置,请考虑提高MaxRequestWorkers设置 我如何判断如何设置这些设置? 我只在询问如何调整Apache 2.4,而没有其他要求。这就是为什么这个问题不同于这个问题的原因。


1
超过约256个并发请求时,Apache性能会急剧下降
我正在运行一个流量相对较低的网站,在网站更新后,每周一次的访问者数量会激增。在此高峰期间,与一周的其余时间相比,站点性能非常差。服务器上的实际负载仍然非常低,可靠地在10%的CPU和30%的RAM下(对于我们正在做的事情,硬件应该是完全过大了),但是由于某种原因,Apache似乎无法应付数量的请求。我们正在RHEL 5.7,内核2.6.18-274.7.1.el5,x86_64上运行apache 2.2.3。 尝试用ab在下班时间重现这种行为,我发现当超过大约256个用户时,性能会大大下降。以我能想到的最小用例运行测试(检索到静态文本文件,总共223个字节),在同时进行245个同时请求的情况下,性能始终是正常的: Connection Times (ms) min mean[+/-sd] median max Connect: 15 25 5.8 24 37 Processing: 15 65 22.9 76 96 Waiting: 15 64 23.0 76 96 Total: 30 90 27.4 100 125 Percentage of the requests served within a certain time (ms) 50% 100 66% 108 75% …

1
Apache prefork优化-选择正确的`MaxRequestsPerChild`值
我正在尝试优化我们的Web服务器,以处理尽可能多的连接。我读了许多帖子和Apache注释。我试图了解应该选择哪个值MaxRequestsPerChild。 最初,我尝试将其设置为4,000,但是服务器在处理许多请求时遇到了困难,因此我开始提高它。目前,我的设置是: <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 40000 </IfModule> 将设置MaxRequestsPerChild为40,000后,服务器设法处理更多的连接,同时不使用更多的内存/ cpu。 谁能告诉我这个值是否太高还是可以得到这么高的值? 谢谢! 操作系统信息: [root@web06 ~]# uname -a Linux web 2.6.18-164.el5PAE #1 SMP Thu Sep 3 04:10:44 EDT 2009 i686 i686 i386 GNU/Linux [root@web06 ~]# free total used free shared buffers cached …

2
Apache到达MaxClients并锁定服务器
我目前有一个Apache2服务器,该服务器在OpenVZ VPS上运行,mpm-prefork并mod_php带有512M real / 1024M突发性RAM(无交换)。运行一些测试后,我发现Apache获得的最大进程大小为23M,因此我将其设置MaxClients为25(23M x 25 = 575 MB,对我来说很好)。我决定在服务器上运行一些负载测试,结果使我感到困惑。 我在ab台式机上使用,从wordpress博客请求主页。 当我ab使用24个并发连接运行时,一切似乎都很好。当然,CPU上升,可用RAM下降,结果是每个请求的响应时间约为2-3s。 但是,如果我ab使用25个并发连接(服务器限制)运行,Apache会在几秒钟后挂起。它开始处理请求,然后停止响应,CPU返回到100%空闲并ab超时。Apache日志说已达到MaxClients。 发生这种情况时,Apache会将自己锁定在25个正在运行的进程中(如果我检查服务器状态,它们全都处于“ W”状态),并且只有在TimeOut设置停止后进程开始并且服务器开始再次响应(在我的情况下已设置)至45)。 我的问题是:这是预期的行为吗?为什么Apache到达时就死了MaxClients?如果它适用于24个连接,那么它不应该适用于25个连接,只是花更多的时间来响应每个请求并排队其余的请求吗? 令我感到有点奇怪的是,任何奔波的孩子ab都可以通过设置与服务器的并发连接单独杀死一个Web服务器MaxClients。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.