热搜词
发表于 2008-9-22 13:49:24 | 显示全部楼层 |阅读模式
换了apache 2.0后,发现访问网站特别慢而且时断时续,在日志中有以下记录

[Sat Dec 24 17:21:28 2005] [warn] (OS 64)指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.

   看了几篇(winnt(MPM) - Apache 2.2 中文版参考手册),说是因为一些流行的Windows产品,比如防病毒软件或虚拟专用网络软件,会干扰AcceptEx()的正确操作。

解决办法:
在httpd.conf文件中添加 Win32DisableAcceptEx 标记,如下:

<IfModule mpm_winnt.c>
ThreadsPerChild 1000   #设置服务器使用进程的数目
MaxRequestsPerChild  10000
Win32DisableAcceptEx
</IfModule>

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

   停止Apache,再启动。确实新配置起作用了:
[notice] Disabled use of AcceptEx() WinSock2 API
[notice] mod_python: Creating 8 session mutexes based on 0 max processes and 1000 max threads.
[notice] Child 2380: Child process is running
[notice] Child 2380: Acquired the start mutex.
[notice] Child 2380: Starting 1000 worker threads.

   ok,似乎错误不再来了。

[ 本帖最后由 灰儿 于 2008-9-22 16:43 编辑 ]
全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-23 10:48 , Processed in 0.148030 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team