Apache [warn] (OS 64)指定的网络名不再可用: winnt_accept: Asynchronous AcceptEx failed.

近日发现apache2.2有如下错误日志:

    [Thu Mar 25 15:53:46 2010] [warn] Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting  
    [Thu Mar 25 16:09:26 2010] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.  
    [Thu Mar 25 16:09:26 2010] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.  
    [Thu Mar 25 16:09:43 2010] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.  


导致网站访问速度过慢,原因是因为一些流行的Windows产品,比如防病毒软件或虚拟专用网络软件,会干扰AcceptEx()的正确操作

解决办法:
在httpd.conf文件中添加 Win32DisableAcceptEx 标记,如下:
<IfModule mpm_winnt.c>
ThreadsPerChild 1000
MaxRequestsPerChild  10000
Win32DisableAcceptEx
</IfModule>

配置后重启apache

这样可以允许并发连接更大一些。同时性能上也不会有明显的降低.

你可能感兴趣的:(apache)