Win系统下apache环境,mpm_winnt.c模式,优化参数:
ThreadsPerChild 说明:每个子进程建立的线程数,默认值:64,最大值:1920。网上查询资料建议设置在100-500之间。如服务器性能高,可设置更大值。
MaxRequestsPerChild 说明:每个子进程在其生存期内允许伺服的最大请求数量,也就是最大线程。如果超过限制,子进程会结束。默认值:0。
推荐MaxRequestsPerChild不要设置为0,设置为非0,可以保护Apache进程免遭内存泄漏的影响,因为你不知道运行在Apache上的应用程式在什么时候会出错导致内存泄漏。
线程设置也不是越大越好,太大会导致产生新的子进程后长期空闲,并非最佳优化。要根据服务器的硬件配置、系统环境、访问流量等调试设置。
如果值太小,也会造成apache频繁重启性能降低,在日志中会出现这样的提示:
Process exiting because it reached MaxRequestsPerChild. Signaling the parent
Win32DisableAcceptEx
使用accept()代替AcceptEx()接受网络链接。AcceptEx()是一个微软的WinSock2 API ,通过使用BSD风格的accept() API提供了性能改善。一些流行的Windows产品,比如防病毒软件或虚拟专用网络软件,会干扰AcceptEx()的正确操作。
如果apache的error.log里面有类似报错,
[warn] (OS 64)指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.
可以直接禁用AcceptEx,重启 Apache
<IfModule mpm_winnt.c>
Win32DisableAcceptEx
......
</IfModule>
Tag标签:「参数 apache 线程」更新时间:「2021-11-02 20:08:14」阅读次数:「897」