おはようございます。きんです。
最近、本業で困ったもんだ~。をしたもんで、ここに書いておきます。
IISからJBOSSを利用する構成で、ISAPIを利用しています。
IISをWebサーバーで、JBOSSをAPサーバーで利用している構成です。
IISからJBOSSへはAJPというプロトコルで繋いでいるのですが、
IIS側はISAPIという部品(DLL)が担当してくれています。
Windowsサーバーの2016を利用しているのですが、
27年1月にサポートが切れてしまいます。
そのため、新しいバージョンのサーバーに引っ越しをしていたのですが、
その時にどうも、ログレベルをdebugにしてしまったようで、
そんな設定をしたことなんて記憶にないもんだから、
ハマった。ということなんです。
どうも、ISAPI自体にはプロパティファイルは梱包されていないようで、
現行サーバーの情報を参考にしつつ、新バージョンへの対応を行ったっぽいけど、記憶がない・・・。
起きた事象としては、クライアントからのアクセスが極端に悪くなります。
2秒くらいで返ってくるレスポンスが40秒近くかかります。
んで、変更した記憶がないもんだから、
調査に数日を要することになってしまいました。
ISAPI内部で何が起きているかというと、
大量のログを(この時は約7000行)、どうも同期処理で書き込みしているようでした。
この書き込み処理が、どうも遅い。1行を2ミリ秒くらいかけて出力しているみたい・・・。
(AJPのやりとりもあって、途中に空きもあったりします)
その間にもISAPIからIISへ返信データを送っているんだけど、
これが細切れに、しかも時間をかけて貯まっていくようで、
クライアントのレスポンスも200バイトほどの細切れとして返ってきていました。
危なくインフラチームに問い合わせして、ご迷惑をおかけしてしまうところでした。
ほっ・・・。
分かって良かったでしたが、ログレベルにはお気を付けください。
-----
固定ページの方は
きんもゲーム制作や現場の経験から学んだ、
役立つJava技術テクニック
に入れてあります。
(びみょうにJavaではないような気もしますが)

