版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
ECS Linux 系统下 Apache 的默认工作模式是 prefork MPM,使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接,效率高,但内存占用量比较大。如果不做调整,访问量增大可能造成 Apache 崩溃的情况。
具体使用哪种模式是在编译安装 Apache 时指定的。在编译的时候可以加入 —with-pem=(prefork|worker) 选项决定启用什么模式。可以使用 httpd -l 命令查看当前 Apache 的工作模式:
Apache 的如下配置参数对性能影响较大:
StartServers 5MinSpareServers 5MaxSpareServers 10MaxClients 150MaxRequestsPerChild 0
建议做如下修改:
$ vi /usr/local/apache/httpd/conf/extra/httpd-mpm.conf StartServers 5 MinSpareServers 5 MaxSpareServers 10 ServerLimit 1024 MaxClients 1024 MaxRequestsPerChild 300
最后,重启apache生效:
$ /usr/local/apache/httpd/bin/apachectl restart
附一些参数的介绍: