1. 事象
ワークフローオプションなどでファイル書出し申請を行った際に「サーバーに接続できません」
というエラーが表示されOKボタンを押下すると、出力したZIPファイルが消えてしまうなど、
サーバが応答しない場合は発生時間帯のServer側のログに何らかのエラーが記録されていないか
ご確認ください。
※以下はメールサーバが異常だった時にInterSafeに記録されたログです
※導入バージョン、導入先によりフォルダパスが異なる場合があります。
■ ログの確認
・Apacheログ
C:\Program Files (x86)\Apache Software Foundation\Apache2.2\logs
\error-yyyy-mm-dd.log
例:[error] (OS 10060)接続済みの呼び出し先が一定の時間を...
[error] (70007)The timeout specified has expired
\access_yyyy-mm-dd.log
例:POST /ISWorkflow/faces/wfView.jsf HTTP/1.1" 500 541 300
・Tomcatログ
C:\Program Files\Apache Software Foundation\Tomcat 8.0\logs\workflow
\is-workflow-error.log
例:[ajp-bio-8009-exec-1018] ERROR (LeoWorkflow:?:?)(null) - failed to mail send.
C:\Program Files\Apache Software Foundation\Tomcat 8.0\logs\server
\is-server-error.log
例:[ajp-bio-8009-exec-906] FATAL (ISServer:?:?)(null) - メールエラー
・PostgreSQLログ
C:\Program Files\PostgreSQL\9.2\data\pg_log
\postgresql-yyyy-mm-dd_hhmmss.log
例 yyyy/mm/dd hh:mm:ss autovacuum: VACUUM pg_catalog.pg_largeobject
Apacheログで(OS 10060)のログが記録されている場合、最初に記録された日時を中心に
他のLogを確認してください。
2. 考えられる原因と対処方法
2-1.autovacuumによるサーバーの高負荷
PostgreSQLではデータが削除された領域を再利用するため、デフォルトでは
autovacuumがONになっていますが、大規模環境で利用される場合などでは
運用時間帯に実行されるとサーバーの負荷が上がり、処理に支障をきたす
場合があります。この場合は、以下の?操作で、autovacuumをOFFにしてください。
PgAdminX [データベース]-[ISDB]を選択しメニューバーの[ツール] -[サーバ構成]にてpostgresql.confを選択しautovacuumをoffにします。 設定変更後は必ず現在値がoffになっていることを確認します。 autovacuumをoffにした場合は、夜間・休日などサーバ負荷が低い時間帯で
vacuum処理をスケジュール実行してください。
-------------------------------------------------------------------- @echo on set APPDATA=C:\Users\Administrator\AppData\Roaming\ set USERPROFILE=C:\Users\Administrator set PG_BIN=d:\Program Files\PostgreSQL\14\bin set PATH=%PATH%;%PG_BIN% vacuumdb.exe -z -U postgres ISDB
---------------------------------------------------------------------
2-2. アンチウイルススキャンによるサーバーの高負荷 アンチウイルスでは定期的にディスクスキャンを行うものがあります。事象発生時間帯に
ディスクスキャンが実行されていないかを確認し、負荷の低い時間帯に行うなどご検討
ください。
F-Secureなどサーバに同居しているアンチウイルスによりサービス起動に問題が発生する
場合があります。この場合、以下の対応を行い、改善しないかご確認ください。
・アンチウイルスから以下フォルダ除外
C:\Program Files (x86)\Apache Software Foundation\Apache2.2 C:\Program Files\Apache Software Foundation\Tomcat 8.0 C:\Program Files\PostgreSQL\9.2 ※ ドライブ/パスは環境/Verにより変わります。 ・サービスの遅延起動に変更
[Apache2.4] [Apache Tomcat 9.0 Tomcat9] [postgresql-x64-14 - PostgreSQL Server 14] 2-3. PostgreSQL DB肥大化によるPostgreSQL負荷の増大 大規模環境の場合、DBの肥大化により自動で行われているautovacuum 処理が終わらず、
高負荷になることで、ユーザリクエストに応えられない状態になっていると考えられます。
この場合は、pg_largeobjectテーブル情報(スクリーンショット)をお送りください。
情報はILPサーバが導入されているマシンンのPostgreSQlのPgAdminX(GUI画面)
よりご確認いただけます。
※PgAdminの起動に失敗する場合は、別ブラウザでの起動、IEの場合は「IE セキュリティ強化の構成」オフをお試しください。 統計情報のテーブルサイズに対し、デットタプル(再利用されない領域) の値が大きい場合、PostgreSQLがautovacuumにより再利用可能な領域に 再編を試みますが、日中処理が込み合う時間帯で実行されると今回の ような事象になってしまうことが報告されています。 この場合は、ひとまず上記1項の手順でautovacuumをOFFにした後 DBのバックアップリストアによりDBを再編してください。 バックアップリストアについてはFAQ:3685をご参照ください。 ※大容量データのバックアップ/リストア目安時間 DBサイズ:1,000GB の場合 バックアップ:約24時間/リストア:約15時間<暫定的なトラブル回避方法>PostgreSQLからの応答が無くなることで本エラーが頻発する際は事象(Apacheログで「OS 10060」)
発生時に以下のようなスクリプトを発行することで回避可能です。暫定対処としてご利用ください。
--------------------------------------------------------------------
@echo on
set APPDATA=C:\Users\Administrator\AppData\Roaming\
set USERPROFILE=C:\Users\Administrator
set PG_BIN=d:\Program Files\PostgreSQL\14\bin
set PATH=%PATH%;%PG_BIN%
psql -U postgres -w -d ISDB -h localhost -q -t -f C:\tools\sparge.sql
---------------------------------------------------------------------
C:\tools\sparge.sqlの内容
---------------------------------------------------------------------
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
where datname = 'ISDB'
and usename in ('ismanager', 'isserver', 'isworkflow')
and pid <> pg_backend_pid();
---------------------------------------------------------------------
※ Apacheログを検知してスクリプトを実行させるにはBOM for Windows等の
サーバー監視ツールをご利用ください。
3. その他
上記に該当しない場合は、以下のログを圧縮してお送りください。
C:\Program Files\Apache Software Foundation\Tomcat 9.0\logs
C:\Program Files\Apache Software Foundation\Apache2.4\logs
C:\Program Files\PostgreSQL\14\data\pg_log
※ ドライブ/パスは環境/Verにより変わります。
※ 明らかに関係の無い過去日付のログは除いてください。