我们在Windows Server 2003上运行apache 2.2.18,当我们得到大量的访问者时,apache似乎变得缓慢而缓慢,然后磨砺成一个完整的立场。
任何人都知道这是为什么?
服务器是基于4gb ram的云
.conf文件位于这里pastebin.ca/2070217
阿帕奇是一只野兽。 开箱即用的默认设置,这是一个丑陋的野兽。 发布httpd.conf,这里的人会更好地给你相关的优化技巧。
定义“访问量高”?
你有没有检查日志?
基准你的服务器?
你确定这是Apache的悬挂的原因,而不只是一个基于Web的应用程序在Apache上运行?
恕我直言,你的问题缺乏适当的信息给出一个坚实的答案。
Windows上的Apache使用基于线程的模型,默认为64个线程,除非您更新这些值。 每个线程处理1个连接。
我的WampDeveloper Proconfiguration如下设置:
(C:\ WampDeveloper \ CONFIG \ Apache的\额外\的httpd-mpm.conf)
ThreadsPerChild 256 ThreadLimit 384
然后确保KeepAlive已设置,但设置为低…
(C:\ WampDeveloper \ CONFIG \ Apache的\额外\的httpd-default.conf)
KeepAlive On KeepAliveTimeout 1
进行更改并重新启动Apache。
检查你的“/ server-status”和“/ server-info”URL(你可能需要取消注释httpd.conf中的某些行来启用这些行,如果你正在使用一些其他的wamp包)。
第一个URL将显示所有的连接和他们的状态。 第二个将显示加载的configuration值。
然后编辑php.ini并设置合理的输出缓冲值:
output_buffering = 4096
值“On”可能不会向客户端发送任何东西,直到脚本到达结束,并且看起来好像您的页面需要很长时间才能加载。
另请尝试:
启用MMAPclosures
EnableSendfileclosures
提供Win32DisableAcceptEX
请注意,速度减慢可能是由于写入/开发的PHP代码编写缓慢,或者每个Apache线程的大小都增加(通过PHP读取/传递的可下载文件将会这样做)。