我确实运行了一个 Web 应用程序,我将其剥离到最大值以避免高 tcpsndbuf 值。几天后仍然会到达 tcpsndbuf 上的失败,并且流量非常非常少。
我最初认为这是此线程中描述的应用程序容器问题。
tcpsndbuf 值不断上升。似乎缓冲区值从未完全释放。因此,它会不断增加,直到突破限制并要求它达到 100% CPU 油门。
但是,在排除了休眠配置、mysql 驱动程序错误等不同来源之后,我想关注由 Parallel Plesk/Power Panel 和 apache proxy_mod 管理的 openvz。
我相信它的原因是/usr/sbin/apache2 -k start
进程列表中列出了许多进程(Parallels Power Panel,进程)
我使用 proxy_mod 将端口 80 路由到我的应用程序服务器,该服务器位于不同的端口但同一主机上。
如何详细分析套接字状态?例如,哪个缓冲区被哪个应用程序锁定,何时分配?我可以看到 proxy_mod 连接吗?这种类型的数据可用吗?非常欢迎任何其他关于 tcpsndbuf 引发最大 CPU 负载的提示。