IMAP4サーバ接続時にメールの読み込みが遅くなってきた、ディスクI/Oが非常に高い状態はどうすればいいか new!
あらためて確認すべき項目を下記にご紹介します。
1. IMAP4プロトコルで管理されているメールボックスフォルダである、INBOX直下の拡張子.MSGのファイル数はどのぐらいあるか確認する
ファイル数が非常に多いと、パフォーマンスが低下、レスポンスが悪化します。ファイル容量も関係してくる場面ではありますが、ここでは大きく"数"が効いてきます。IMAPにおけるコマンドにより、フォルダ内の全件の状態確認、索引などでもI/O(DISK)は増えます。また、IMAPの同時接続数(同時アクティブセッション数)が増えるほど、同時に実行されるコマンドが重なりやすくなるため、I/O(DISK)の「待ち」が発生しやすくなります。
具体的なファイル数の目安を挙げます。なお、フォルダに分けて整理してある状態で以下の目安です。
・理想量: 500通以下
・注意域:1,000通以下
・危険域:5,000通以下
もしINBOX直下のファイル数が多い場合、直下でない別フォルダに移動し、一度様子を見ることが推奨されます。
2. ディレクトリ列挙のみの時間を測り、問題を切り分ける
PowerShellやコマンドプロンプトでディレクトリ列挙だけの時間を計測できます。
〔例:PowerShellの場合〕-----------------------------
$p = 'C:\mail\inbox\eposttest.jp\user1\INBOX' [Enter]
1..3 | % { Measure-Command { Get-ChildItem -LiteralPath $p -File -Name | Out-Null } } [Enter]
---------------------------------------------------------------
(1)結果として3回出る数値のTotalSecondsを見ます。
〔例:PowerShellの場合〕-----------------------------
1回目(キャッシュなし="コールド")
TotalSeconds : 0.1566013 → 約 156.6 ms
2回目(キャッシュあり)
TotalSeconds : 0.0311291 → 約 31.1 ms
3回目(キャッシュあり="ウォーム")
TotalSeconds : 0.0273262 → 約 27.3 ms
---------------------------------------------------------------
(2)この3回目(ウォーム)の値を見て、1000ファイルあたり(ms/1k)の基準で異常かどうか確認します。
・良好:60 ms/1k 以下
・注意:150 ms/1k 以下
・悪い:151 ms/1k 以上
(3)1回目(コールド)の値と3回目(ウォーム)の比率を確認します。
・コールド ÷ ウォームの数値が2〜6倍ほどの差の場合、キャッシュ効果もあり、正常な範囲だといえます。
・ウォームも基準値を超えている場合、多くはウイルス対策ソフトによるリアルタイム保護・ネットワーク・重いフィルタドライバなどが原因です。
・コールドだけ極端に遅い場合、純粋なI/O(DISK)の帯域・レイテンシ不足や他プロセスの干渉が原因です。
※上記「ディレクトリ列挙の所要時間」に加えて、可能なら、「サーバのログや統計でSELECT/SEARCH/FETCHの処理時間(平均・P95)を確認する」ことや、「1ユーザーのINBOXに対してSEARCH/UID FETCHを1回実行し、(テスト用アカウントで)応答時間を記録する」などを調べ、総合的に判断すると精度が上がります。
3. IMAP4ルートフォルダに膨大なファイルがないか確認
IMAP4専用アカウントにもかかわらず、Account Managerの各アカウント別設定で[POP3無効]チェックボックスがオフのままになっている場合があります。
一つ上の階層である「POP3プロトコルで管理される通常のメールボックスフォルダ」=「IMAP4と併用するルートのフォルダ」に膨大な数のメールデータ(Bで始まるファイルで拡張子.MSG)が残存してしまっている場合もあります。そのような事態になっていないかご確認ください。
[POP3無効]オフで使うケースは、POP3/IMAP4併用のアカウントを想定しています。
4. ウイルス対策ソフトによるリアルタイム保護が効いていないか確認
サードパーティ製アンチウイルスソフトなどがリアルタイムや定期スキャンでフォルダアクセスをしている場合は、きわめて遅くなることがあります。
メールボックスフォルダやメール作業フォルダに対してはリアルタイムや定期スキャンは、導入時から除外設定をしていただくようお願いはしておりますが、万が一、設定が元に戻ってクリアされてしまっている場合もあります。この点についても念のためご確認ください。
(関連FAQ)
●方式の違いによるメールボックスフォルダの作成位置について
●IMAP4使用中にメールボックスのルートに"Bxxxxxxxxxx.MSG"ファイルが大量にたまっている
●IMAPサーバで扱うメールデータ数や同時接続数、運用パフォーマンスとの関係について
●メールサーバマシンにアンチウイルスソフトを同居させるときの注意点