なんでも、構築中の Web システムでアクセス負荷をかけると時々文字化けしたり、1 分以上応答が返ってこなかったり…。
はてさて、こういうときに行う作業が、俗に言われる「問題の切り分け」。
まず文字化け。問題となっている Web システムは Java Web アプリケーションサーバベースでデータベースアクセスもあることから、JDBC ドライバのバグを疑ってみる。とはいえ、同じページにアクセスしても通常は化けなくて、時々化けるということで JDBC ドライバのバグ説は却下。
よくわからないので、とりあえず長時間無応答現象に着手。問題を再現させ、スレッドダンプをとってみる。むむぅ。どのスレッドも全然動いてない…。無応答状態の原因は、Java Web アプリケーションサーバにはない!と断定!
システム構成を確認すると、前段にロードバランサがあって、そこから Web サーバにリクエストがディスパッチされて、さらにそこから Java Web アプリケーションサーバにリクエストがディスパッチされているとのこと。ということで、問題切り分けのため、ひとまずロードバランサを介さないでいきなり Web サーバ経由でアクセスしてみる。