apache ThreadsPerChild和MaxRequestsPerChild配置分析

  代码如下

  <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请求大概占用多少内存,除去系统和其他程序占用的内存后,估计每秒请求数有多少,就可以计算出来了