我有一个运行多个Opencart站点的VPS,并且大部分执行任务非常好。
规格:
中央处理器
GenuineIntel,Intel(R)Xeon(R)CPU E5-2665 0 @ 2.40GHz
版
Parallels Plesk Panel v11.5.30_build115130819.13 os_CentOS 6
OS
CentOS 6.2(最终)
内存: 4GB
然而,我有一个客户经常进行stream行的促销活动,导致他们的网站stream量大概在3000 – 4000人左右,大概1-2个小时,其中许多人正在尝试完成订单stream程。
当这些促销活动运行时,我可以观察到RAM降低到达到100%利用率的一个点,并导致所有站点甚至SSH访问VPS都会丢失,并显示以下错误日志:
(12)无法分配内存:mod_fcgid:无法运行/ var / www / cgi-bin / cgi_wrapper / cgi_wrapper [警告](12)无法分配内存:mod_fcgid:spawn进程/ var / www / cgi-bin / cgi_wrapper / cgi_wrapper错误
重新启动Apache或VPS不会帮助和内存利用率只有恢复正常,因为人们放弃和停止不断点击该网站。 即使将内存提高到6GB也没有解决这个问题,但我认为这将是任何合理数量的内存相同。
我已经把这个报告给我的主人谁是相当无益的。 他们表示,他们已经优化了Apache的工作方式,但是我仍然看到每个促销都会导致完全中断的问题。
经过优化,我的Apacheconfiguration如下所示:
IfModule prefork.c
StartServers 2
MinSpareServers 2
MaxSpareServers 5
ServerLimit 80
MaxClients 200
MaxRequestsPerChild 400IfModule worker.c
StartServers 1
MaxClients 10
MinSpareThreads 1
MaxSpareThreads 4
ThreadsPerChild 25
MaxRequestsPerChild 0
我也刚刚注意到,他们已经设置了KeepAliveclosures。
这个客户有一个促销在不久的将来运行,我很想深究这点,以确保网站始终保持活跃。
任何build议将不胜感激,请询问是否需要更多的信息。
提前致谢。
我build议以下一项或多项:
你正在运行apc? 如果没有,我会安装,看看情况是否改善。 我也看看php的fcgiconfiguration。 由于php是从Apache下运行分开的fcgi,我不相信你的问题是与Apache。