以前も TCP だかタイマーで問題があった ― 2007年11月16日 13時40分27秒
システムが日中稼働し、外部との通信に TCP を使っていた。アプリケーション層で、一分に一度だったと思うが、ハートビートを交換する仕様になっていた。
何故だか、このハートビートが遅れるようになっていたのだ。起こるのも、いつも同じぐらいの時間。ハートビートへの返信がとても遅れていたのか、こちらが送るべきハートビートが仕様通りに送られていなかったのかは覚えていない。しかし、正しく通信できないのだ。
結局のところ、原因はその特定の時刻に始まるバッチジョブのせいだった。このバッチは、大量のファイルを扱うので、この時にディスクの稼働率が急に上がる。この時を境に、ハートビートに問題が出始めるのだった。記憶が正しければ、ディスクアクセスが、TCP の処理を遅れさせていたらしい。対応としては、ディスクから負荷を軽減させるために、このファイルの処理にスリープを入れ、業と遅らせるようにした。
前回。
最近のコメント