Nginx 前端、Apache 后端、过多时间等待连接

Nginx 前端、Apache 后端、过多时间等待连接

我使用 Apache 作为后端,使用 suPHP 和 mod_sec,并使用 nginx 作为前端代理。

到目前为止,这运行良好,但出于某种原因,Apache 突然生成了太多进程,导致 CPU 负载大幅增加。我已经减少了 worker_connections 和所有超时,怀疑有人对服务器的打击过多,例如机器人等,但问题仍然存在。

当 CPU 负载上升时,我检查了 Time_Wait 连接,有一次我有 5000 个 TIME_WAIT。CPU 负载正在飙升。

除了以下我还能做什么?

echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse

更新:tw_reuse 有点帮助,但我必须对其进行一些分析。我还能尝试其他什么来获取更多信息吗?

答案1

先分析一下nginx的访问日志!

如果您的真实用户有很多请求,则需要配置或升级您的服务器。

如果是机器人或坏的解析器,您需要阻止它们并调整系统参数。

在未发现问题之前请勿更改任何 sysctl 参数。

相关内容