文章介绍了关于apache + php +win2003服务器如何配置apache ThreadsPerChild和MaxRequestsPerChild数据,很多朋友如设置很大1000,10000这样我经过测试是存在问题的,下面是我我以前的设置。
- <IfModule mpm_winnt.c>
- ThreadsPerChild 1024
- MaxRequestsPerChild 10000
- </IfModule>
先看两个参考
MaxRequestsPerChild 单个子进程在其生命周期内处理的总请求数限制,当某个子进程处理过的总请求数到达这个限制后这个进程就会被回收,如果设为0,那么这个进程永远不会过期(这样如果有内存泄露的话就会一直泄露下去……)
ThreadsPerChild 每个子进程的服务线程数目 默认值25
我机器的最佳配置方法如下:想改大MaxClient的大小超过256,在网上论坛上看,说增加serverlimit一行就行了。
- <IfModule prefork.c>
- ServerLimit 2000
- StartServers 10
- MinSpareServers 10
- MaxSpareServers 15
- MaxClients 1500
- MaxRequestsPerChild 10000
- </IfModule>
总结:你要先计算每一个httpd请求大概占用多少内存,除去系统和其他程序占用的内存后,估计每秒请求数有多少,就可以计算出来了 |