メッセージはデータベースに保存されています。ディスク上のユーザーの分散、メールボックスのサイズ、ディスクの要件は、ストアのパフォーマンスに影響します。次の項目で、これらの問題について説明します。
stored は、存続期間決定ポリシーを実行したり、ディスクに保存されているメッセージを消去して、メッセージデータベースのデッドロック操作やトランザクション操作などの、さまざまな重要なタスクを実行します。stored が実行を停止すると、最終的には Messaging Server に問題が発生します。start-msg が実行されているときに stored が起動していないと、ほかのプロセスも起動しません。stored の詳細は、『Sun Java System Messaging Server 6.3 Administration Reference』の「stored」を参照してください。
表面的な問題の兆候はありません。
stored プロセスが実行中かどうかをチェックします。stored は、pidfile.store という msg-svr-base/data/proc 内の pid ファイルを作成し、更新します。この pid ファイルは、復元中の init 状態と準備中の ready 状態を示します。次に例を示します。
231: cat store 28250 ready |
1 行目の数字は stored のプロセス ID です。
232: ps -eaf | grep stored inetuser 28250 1 0 Jan 05 ? 8:44 /opt/SUNWmsgsr/lib/stored -d |
msg-svr-base/store/mboxlist に作成されたログファイルをチェックします。すべてのログファイルが直接 stored の問題によって作成されるわけではありません。ログファイルは、imapd が壊れている場合やデータベースに問題がある場合にも作成されることがあります。
msg-svr-base/config 内の次のファイルのタイムスタンプをチェックします。
stored.ckp - チェックポイントで試行が行われたときに押されます。1 分ごとにタイムスタンプが付けられます。stored.lcu - データベースログのクリーンアップごとに押されます。5 分ごとにタイムスタンプが付けられます。stored.per - ユーザー単位のデータベース書き込み時に押されます。60 分ごとにタイムスタンプが付けられます。
デフォルトログファイルの msg-svr-base/log/default/default 内の stored メッセージをチェックします。
watcher と msprobe によって監視することができます。「4.5 障害が発生したサービスや応答がないサービスの自動再起動」および 「27.8.9 msprobe および watcher 関数を使用した監視」を参照してください。
データベースロックの状態は、さまざまなサーバープロセスで保持されます。これらのデータベースロックは、メッセージストアのパフォーマンスに影響することがあります。デッドロックの場合、メッセージが適切な速度でストアに挿入されないため、結果として ims-ms チャネルキューが大きくなります。キューをバックアップするのにはいくつかの正当な理由があります。したがって、キューの長さの履歴をとっておくと、問題を診断するのに便利です。
多数のトランザクションが蓄積され、解決されません。