Chromeで特定のサイトにアクセスできなくなったので原因を調査してみた | TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
特定のブラウザでサイトへのアクセスが不安定になる事象。pingによる疎通確認は成功するものの、TCP通信を必要とするcurlやブラウザでの接続が失敗する。これは、OSが管理可能なネットワークソケットの上限に達し、新規接続のためのリソース確保ができなくなっている状態である。
// Approach
まずping(ICMP)でネットワークとDNSの正常性を確認し、次にcurl(TCP)を用いてブラウザと同様の通信を試行。これにより、問題がアプリケーション層ではなくOSのTCP通信層にあることを特定した。さらにnetstatコマンドを用いてソケットの状態を調査し、枯渇のメカニズムを解明した。
// Result
原因がスリープ復帰時に発生するゾンビソケットの蓄積によるソケット枯渇であることを突き止めた。解決策としてPCの再起動を提示し、予防策としてnetstatを用いたソケット数の監視を推奨している。
Senior Engineer Insight
> 本件はクライアント端末のトラブルシューティング事例だが、本質的にはリソース管理の失敗である。サーバーサイドの設計においても、高トラフィック下でのソケット枯渇(Ephemeral Portの枯渇)は致命的な障害に直結する。TIME_WAITの滞留や、アプリケーションによる適切なクローズ処理の欠如は、スケーラビリティを著しく阻害する。監視メトリクスとしてソケット数や接続状態を組み込む重要性を再認識させる内容である。現場では、単なる「再起動による解決」で終わらせず、なぜリソースが解放されなかったのかというカーネルレベルの挙動まで踏み込む姿勢が求められる。