tcpsndbuf の値が高くなるのを避けるために、最大限に取り除いた Web アプリケーションを実行しています。数日後、トラフィックが非常に少なくなり、まだ 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 接続を確認できますか? そのようなデータは利用できますか?最大 CPU 負荷を引き起こす tcpsndbuf に関するその他のヒントは大歓迎です。