prefork 下StartServers、MinSpareServers、MaxSpareServers等选项的关系
来源:互联网 发布:cf领枪软件 编辑:程序博客网 时间:2024/05/29 17:23
首先,prefork 控制进程在建立“StartServers”个子进程后,当未满足MinSpareServers设置的进程数时,在第一个单位时间,继续创建1个子进程,再等待一个单位时间,继续创建两个……如此按指数级增加创建的进程数,最多达到每秒32个,当达到每秒32个子进程的时候就不会再指数增加了。MaxSpareServers设置了最大的空闲进程数,如果空闲进程数大于这个 值,Apache会自动kill掉一些多余进程。这个值不要设得过大,但如果设的值比MinSpareServers小,Apache会自动把其调整为 MinSpareServers+1。如果站点负载较大,可考虑同时加大MinSpareServers和MaxSpareServers。
现在来验证上面一段话,首先验证起始是2的0次幂个进程。
配置:
<IfModule mpm_prefork_module>StartServers 2MinSpareServers 3MaxSpareServers 5MaxRequestWorkers 250MaxConnectionsPerChild 0</IfModule>
重启apache后,查看进程数:
[root@localhost conf.modules.d]# ps aux|grep httpd |grep -v greproot 6878 0.2 0.4 307700 11784 ? Ss 14:56 0:00 /usr/sbin/httpd -DFOREGROUNDapache 6879 0.0 0.2 322048 6512 ? S 14:56 0:00 /usr/sbin/httpd -DFOREGROUNDapache 6880 0.0 0.2 322048 6512 ? S 14:56 0:00 /usr/sbin/httpd -DFOREGROUNDapache 6955 0.0 0.2 322048 6512 ? S 14:56 0:00 /usr/sbin/httpd -DFOREGROUND
三个子进程,得证。
验证最大只能到单位时间开启32个子进程:
配置:
<IfModule mpm_prefork_module>StartServers 2MinSpareServers 90MaxSpareServers 120MaxRequestWorkers 250MaxConnectionsPerChild 0</IfModule>
这个配置的意思是,起始两个apache子进程,然后2+1+2+4+8+....+32 = 65个子进程,若是下一个时间单位开启64个子进程的话,65+64=129大于120,多余的进程会被kill吊,最后稳定的进程数应该是120个,若仍然是32个的话,65+32=97最后稳定的进程数应该是97个。
重启apache后等一段时间查看进程:
[root@localhost conf.modules.d]# ps aux|grep httpd |grep -v grep |wc -l98出去root进程的话刚好97个,最高32个得证。
0 0
- prefork 下StartServers、MinSpareServers、MaxSpareServers等选项的关系
- prefork
- freebsd下apache的worker/prefork模式性能的简单对比
- 查看httpd进程数(即prefork模式下Apache能够处理的并发请求数)
- FreeBSD下Apache MPM改用Prefork
- 符号表和链接选项 的关系
- android 中的编译选项的对应关系
- ARM 编译选项的默认关系 001
- myelipse的team没有提交等选项:
- wince下的编译选项
- wince下的编译选项
- Linux 下的 CONFIG_OF 选项
- linux下服务器程序的几种基本模型-【一】单/多进程模式/多进程池(prefork)模型
- Apache的prefork模式和worker模式
- Apache的prefork模式和worker模式
- Apache的prefork模式和worker模式
- Apache的prefork模式和worker模式
- MPM中prefork与worker的区别
- 单例模式
- 查看文件系统空间:df -h
- Elasticsearch运行问题
- The Linux Programming Interface 01 History and Standards UNIX/Linux历史和标准
- SpringBoot学习-第三章 Spring高级应用-<Spring Boot 实战>
- prefork 下StartServers、MinSpareServers、MaxSpareServers等选项的关系
- Thrift入门初探--thrift安装及java入门实例
- 亚马逊云aws12个月免费服务器搭建小结
- Kinect v1配置运行Github-mp3guy/Logger2
- Android常见问题集锦
- gdb调试
- JXL获取excel真实行数
- Opencv中 霍夫线变换检测直线中pt1、pt2点的确定
- Sodium密码库 PART1