apache错误日志出现 :
线程耗尽 (AH00326)
启用的模块:mod_reqtimeout
这个模块专门用来切断“挤牙膏”式的慢速请求,防止它们长期霸占线程。在 httpd.conf 中确认加载,并添加配置:
LoadModule reqtimeout_module modules/mod_reqtimeout.so
<IfModule reqtimeout_module>
RequestReadTimeout header=10-30,MinRate=500
RequestReadTimeout body=10-30,MinRate=500
</IfModule>
这表示:请求头/体必须在 10 秒内开始传输,且传输速率不能低于 500 字节/秒,否则 Apache 会主动断开连接,释放线程。对于你这种被大量连接打满的情况,这个模块能有效防止单个连接无限期占用资源。
同时检查 KeepAlive 设置
如果 KeepAlive 开启且超时时间很长,空闲连接也会占着线程。在 httpd.conf 中把 KeepAliveTimeout 调低(例如设为 2-5 秒),让空闲线程更快回到池子里。
同时增加线程 ,提高 ThreadsPerChild 的值。
找到 <IfModule mpm_winnt_module> 配置段,将 ThreadsPerChild 调整到一个更高的值。例如,可以尝试改为 256 或 512(请根据服务器实际负载调整,512 仅为示例,非绝对推荐值)。
<IfModule mpm_winnt_module>
ThreadsPerChild 512
MaxRequestsPerChild 0
</IfModule>
确保配置生效:检查主配置文件 conf/httpd.conf,确保 Include conf/extra/httpd-mpm.conf 这一行没有被 # 注释掉。
重启服务:保存修改后,重启 Apache 服务。
结合日志分析,防火墙或者安全组拦截异常访问ip地址段.











