Apache的mpm配置

Apache有三种工作模式分别是:Prefork MPM(默认)、Worker MPM、Event MPM

  • Prefork MPM: 使用多个进程,每个进程只有一个线程,每个进程再某个确定的时间只能维持一个连接,优点是稳定,缺点是内存消耗过高。

  • Worker MPM: 使用多个进程,每个进程有多个线程,每个线程在某个确定的时间只能维持一个连接,优点是内存占用比较小,大并发、高流量,缺点是一个线程崩溃,整个进程就会连同其任何线程一起挂掉。

  • Event MPM: 使用多进程多线程 + epoll的模式。

httpd -V 可以现在工作在哪种模式

1
2
3
4
5
6
7
8
9
10
11
12
 <IfModule mpm_prefork_module>
StartServers 20
MinSpareServers 20
MaxSpareServers 50
ServerLimit 5000
MaxRequestWorkers 5000
MaxConnectionsPerChild 10000
</IfModule>

service httpd stop
service httpd start
systemctl status httpd.service
  • StartServers: 开始的进程数
  • MinSpareServers: 最小的空闲进程数
  • MaxSpareServers: 最大的空闲进程数
  • MaxRequestWorkers: 服务请求数量上限
  • ServerLimit:活动子进程数量
  • MaxConnectionsPerChild: 每个子进程可处理的请求数,0表示不限制