Webサーバプラグインのコネクションプール制御機能に問題があり、コネクションプール
サイズの半分以上のコネクションプールが使われた後にWebサーバのプロセスがアボート
する場合があります。
本事象が発生した場合は、Webサーバの制御によりアボートしたプロセスは再起動
されます。そのため、リクエストを送信してレスポンス待ちの状態であった
ブラウザには「このページは表示できません」等のエラーが表示されます。
該当プロセスが再起動された後に受け付けたリクエストについては正常に処理さ
れます。
本事象が発生した場合にログに出力されるメッセージを以下に記載します。
- WebOTX Web Server(Apache)の場合
<ドメインディレクトリ>\logs\web\error.log (※)
Parent: child process exited with status 255 -- Restarting.
(※) Linux または HP-UX の場合、ファイル名は error_log となります。
- IIS の場合
Windows のイベントログ(アプリケーション)に以下のログが出力されます。
レベル エラー
ソース Application Error
イベントID 1000
障害が発生しているアプリケーション w3wp.exe
障害が発生しているモジュール isapi_redirect.dll
バージョン <isapi_redirect.dllのファイルバージョン>
例外コード 0xc0000005
本事象が発生する環境
本事象は、次の条件を満たす環境で発生する可能性があります。
WebOTXの動作モードの確認方法
ご利用されている WebOTX がスタンダードモードで動作しているかどうかを確認するた
めには、以下のコマンドを実行してください。
otxadmin> get server.web-container.processMultiplicity
コマンドの実行結果が以下のように false が表示された場合はスタンダードモードで動
作しています。
server.web-container.processMultiplicity = false
上記の結果がtrueの場合はアドバンスドモードで動作しています。
V9.3の場合にWebコンテナとWebサーバの連携モードがAJPプロトコルで動作しているかど
うかを確認するためには、以下のコマンドを実行してください。
otxadmin> get server.web-container.advanced-mode-protocol
コマンドの実行結果が以下のように ajp と表示された場合はAJPプロトコルで動作して
います。
server.web-container.advanced-mode-protocol = ajp
Webサーバプラグインのバージョン確認方法
Webサーバプラグインのバージョンの確認方法は以下のとおりです。
以下の説明では、WebOTXのインストール・ディレクトリを「<INSTALL_ROOT>」と略します。
デフォルトはWindowsが「C:\WebOTX」、UNIXが「/opt/WebOTX」です。
- WebOTX Web Server(Apache)をご利用の場合
以下のファイルにバージョン情報が出力されます。
${INSTANCE_ROOT}/logs/web/error.log
(Linux または HP-UX の場合、ファイル名は error_log となります)。
下記の「********」部分がバージョンとなります。
「Webserver_Plugin/******** configured.」
- IIS をご利用の場合
isapi_redirect.dll をエクスプローラで選択して右クリックメニューで
プロパティを開き「詳細」より、「ファイルバージョン」を確認します。
isapi_redirect.dll は以下のフォルダにあります。
[32bitの場合]
${INSTALL_ROOT}\bin\win32\i386
[64bitの場合]
${INSTALL_ROOT}\bin\win64\x64
以下のどちらかの方法により、プロセスのアボートが無くなりリクエスト失敗の事象が
Webサーバに接続中の全クライアントから個別のクライアントに局所化されます。
- Webサーバプラグインのコネクションキャッシュ最小サイズをコネクションキャッシュサイ
ズと同じにする。
- コネクションプールタイムアウト時間を0に設定してpingモードは既定の未設定とする
以下の手順で設定を変更します。
(※) 以下の説明では、WebOTX のドメイン・ディレクトリを「INSTANCE_ROOT」と略します。
デフォルトはWindowsが「C:\WebOTX\domains\domain1」、UNIXが「/opt/WebOTX/domains/domain1」
です。
(※) OSの種別に関わらずパス区切りは"/"と表記しています。
- ${INSTANCE_ROOT}/config/WebCont/workers.properties を開いて
workerに "connection_pool_minsize" プロパティを追加して、
connection_pool_size と同じ値を設定、またはconnection_pool_timeout=0 を設定します。
プールサイズが150で、pingモードにインターバルを指定している場合の
設定例を以下に示します。いずれも下線部分が回避のための設定になります。
- 例1. コネクションキャッシュ最小サイズの設定で回避
-----------------------------------------
worker.ajp13.connection_pool_size=150
worker.ajp13.connection_pool_minsize=150
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#worker.ajp13.ping_mode=I
~
-----------------------------------------
- 例2. コネクションプールタイムアウト時間の設定で回避
-----------------------------------------
worker.ajp13.connection_pool_size=150
worker.ajp13.connection_pool_timeout=0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#worker.ajp13.ping_mode=I
~
-----------------------------------------
- WebOTX Webサーバ(Apache)/IISを再起動します。
更新履歴
- 2016/07/20 初版
- 2019/01/11 第2版 「対処方法」にパッチを追加
製品名カテゴリ
WebOTX
WebOTX Application Server
関連情報
-
コンテンツID:
3010101769
-
公開日:
2016年07月20日
-
最終更新日:2019年01月11日