Apache,打开网页速度超慢,再就是死机问题

这几天Apache遇到了大的麻烦。肯请各位大佬伸手帮助。

机器的操作系是Win2003.Apache所用的安装是Appserv 2.5.9版本。机器是新安装的。这系统已经成功运行了两年多了。以前一直没有这样的情形。现在将出现的情形和我处理的方法一并写下。希望能得到各位的帮助。

一、机器重启后,网页能正常运行,估计一个小时后,Apache会出现这样的错误。
[Sat Dec 11 10:32:07 2010] [error] [client 58.248.217.245] File does not exist: I:/AppServ/www/ajax, referer: http://xxx.com/
[Sat Dec 11 10:32:52 2010] [error] [client 58.248.217.245] File does not exist: I:/AppServ/www/css/body_bg.jpg, referer: http://www.xxx.com/
[Sat Dec 11 10:32:56 2010] [error] [client 58.248.217.245] File does not exist: I:/AppServ/www/images/list_new_index_03.jpg, referer: http://www.xxx.com/
[Sat Dec 11 10:33:12 2010] [error] [client 58.248.217.245] File does not exist: I:/AppServ/www/ajax, referer: http://xxx.com/
[Sat Dec 11 10:33:29 2010] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Dec 11 10:33:29 2010] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.

根据网上的解决方法:

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

二、关了Apache服务,重启Apache服务。启动正常。网页打开的速度也正常。

但是Apache出现另外一个错误,但网页能正常浏览,没有管他。具体的日志如下
[Sat Dec 11 11:01:02 2010] [notice] Apache/2.2.4 (Win32) PHP/5.2.3 configured -- resuming normal operations
[Sat Dec 11 11:01:02 2010] [notice] Server built: Jan  9 2007 23:17:20
[Sat Dec 11 11:01:02 2010] [notice] Parent: Created child process 1392
[Sat Dec 11 11:01:02 2010] [notice] Disabled use of AcceptEx() WinSock2 API
[Sat Dec 11 11:01:03 2010] [notice] Child 1392: Child process is running
[Sat Dec 11 11:01:03 2010] [notice] Child 1392: Acquired the start mutex.
[Sat Dec 11 11:01:03 2010] [notice] Child 1392: Starting 150 worker threads.
[Sat Dec 11 11:01:03 2010] [notice] Child 1392: Listening on port 80.


运行一会儿,网页打不开。

根据网页的解决方案,说是"这是winsock问题,造成apache死循环,重置winsock即可"执行"netsh winsock reset"就行。

执行后系统提示重启服务器,照做,重启服务器。网页能照样打开,日志照常错误。

可是我没有关闭Apache服务的原因,就是将Apache服务关了,执行"netsh winsock reset"服务,重启后网页能打开,日志照常。

想如果日志报错,网页能正常打开也行,可是半个小时后网页打不开了。


三、根据网页的提示可能是"Acquired the start mutex."的错误。再对httpd.conf作了一些修改
原始的mpm模块参数如下
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>
修改成这样
<IfModule mpm_prefork_module>
    StartServers          10
    MinSpareServers      10
    MaxSpareServers      15
    ServerLimit          1000
    MaxClients           500
    MaxRequestsPerChild  1000
</IfModule>
可是运行了半分钟后网页就打不开了。恢复以前的配置。打开网页正常,可是半个小时过去了,网页又打不开了

网友们,帮我想想办法,指导一下,多谢谢!