- 締切済み
TCPセッション状態「CLOSE_WAIT」につい
TCPセッション状態「CLOSE_WAIT」について質問です。 ■事象 WEBサーバを運営していて、 画像ファイルのアクセスが10リクエスト/1秒 程度あるのですが、 Apacheの「http://localhost/server-status?refresh=1」で状況を確認すると、 "W" Sending Replyがどんどん増加していき、 準備していた1024スレッドを全て使い果たしてしてサーバダウンとなる事象が発生しています。 サーバダウン時に「netstat -an」でTCPセッションを確認したのですが、 「CLOSE_WAIT」が大量に(950程度)残っていました。 TCP通信が完全に終了していないく、 不完全なTCP通信がプロセスを圧迫して、新しいリクエストを受け付けられない、 という状況です。 ちなみに、 画像ファイルのアクセスは他サイトからの直リンクになります。 他サイトに<img src="http://質問者のサイト.com/image.jpg">という直リンクがあり、 他サイトのPVが10アクセス/1秒あるということです。 ■環境 OS : Windows 7 64bit WEB : Apache/2.2.27 (Win64) PHP/5.4.26 ■質問 なぜ「CLOSE_WAIT」が大量に残ってしまうのか、理由を教えて下さい。 また、具体的な解決方法(オペレーション付きが望ましいです)を教えて下さい。 ■備考 ネットワーク機器が影響かと思い、別の製品にしたのですが、 解決せずでした。 サーバのKeepAlive系の設定かな?と思っています。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- celtis
- ベストアンサー率70% (2342/3307)
あなたの予想通りKeepAliveを調整することで改善すると思います。 理由は推測ですがスマホからのアクセスが増えているのではないでしょうか? スマホ経由の接続は不安定になりがちなので、トラブルのもとになるようです。 http://web-tan.forum.impressrd.jp/e/2014/04/01/17242? 下記の記事に手順まで載っているので参考になると思います。 http://hirofukami.com/2008/08/11/close-wait/ http://log.windows78.net/2014/08/1168/