deadやmxcash、viruslogなど特定フォルダに膨大な数のファイルが蓄積されたときのパフォーマンス低下現象について
メールサーバの日々の運用では、メール作業フォルダにログがたまりすぎないようにしたり、放置されたメールボックスフォルダにメールがたまりすぎないようにして、注意をしていただくことが必要であり、こうしたことは、運用の常識として理解されているものと思われます。
長年にわたって運用を続けている場合、ファイルが蓄積されている可能性があるのは、「メール作業フォルダ」(既定値 /var/spool/epms/)下の次のフォルダです。
- deadフォルダ
- mxcashフォルダ
- viruslogフォルダ
deadフォルダは、どこにも配送できなくなったメールデータが格納されるフォルダです。配送失敗したメールは、faillogに記録され、同時に配送エラー通知メールが発信者に戻されますが、この場合にはdeadフォルダに配送失敗したメールデータはたまりません。deadフォルダにはどこにも配送できなくなったメールデータが格納されます。DMやメールマガジンなど大量のメールを送ることの多いサーバのdeadフォルダには、思わぬ数のメールデータファイルが蓄積されていることがあります。
また、mxcashフォルダは、外部への配送の際、MXレコードを参照するときに、キャッシュファイルを自動作成しておき、2回目からキャッシュファイルを呼び出すことで高速化をはかるものです。mxcashフォルダは、配送時にMXレコードを参照したときのキャッシュファイルが蓄積されますが、こちらもさまざまな外部ドメイン宛へ送信しているところほど、キャッシュファイルが多数蓄積されている可能性があります。現行の仕様では、このキャッシュファイルを更新する機能はある一方で、削除する機能はありません。ファイルが蓄積されすぎてしまったときは、手動で削除する必要があります。
一方、viruslogフォルダは、メールフィルタ機能を設定している場合に迷惑メールの隔離・保管をするフォルダです。同時にアンチウイルス機能がある Enterprise 版では、検出されたウイルスメールの隔離・保管も行います。メールフィルタ機能を設定している場合は、迷惑メールの隔離・保管のためすぎに注意してください。ファイルが多数蓄積されてきたときは、手動で削除してください。
これらのフォルダに膨大なファイルが蓄積されていたときの対処方法
膨大な数のファイルがたまると、ファイルシステムのパフォーマンス低下を引き起こし、いくら強大なパワーのCPUや豊富なメモリがあっても、サーバマシンのパフォーマンスが極度に下がってしまうことがあります。
万が一、上記のdeadフォルダやmxcashフォルダ内にたくさんのファイルが蓄積されていることが判明した場合、単純なファイル削除操作を行うと、非常に時間がかかってしまうことが考えられますので、下記の手順で操作をおこなってください。
- E-POSTコントロールセンターのメールサーバ管理から[システム管理メニュー]をクリック、[サービス制御]をクリックして表示される「サービス制御」画面を開く
- epstddサービスを停止
- 「メール作業フォルダ」(既定値 /var/spool/epms/)下のdeadフォルダまたはmxcashフォルダを任意の別名にリネーム
- epstddサービスを再開
※サービスを再開した後、新しく空のdeadフォルダやmxcashフォルダが自動的に作られます。
- リネームした後でフォルダ内の不要ファイルを削除、フォルダを削除
viruslogフォルダにたくさんのファイルが蓄積されていることが判明した場合、単純なファイル削除操作を行うと、非常に時間がかかってしまうことが考えられますので、下記の手順で操作をおこなってください。
- epstrdサービスを停止
- viruslogフォルダを任意の別名にリネーム
- epstrdサービスを再開
※サービスを再開した後、新しく空のviruslogフォルダが自動的に作られます。
- リネームした後でフォルダ内の不要ファイルを削除、フォルダを削除
mxcashフォルダにキャッシュファイルを自動生成しない設定
mxcashフォルダに関して、キャッシュファイルを自動生成しない設定が可能です。その場合は次の操作を行ってください。
- E-POSTコントロールセンターのメールサーバ管理から[システム管理メニュー]をクリック、[サービス制御]をクリックして表示される「サービス制御」画面を開く
- epstddサービスを停止
- E-POSTコントロールセンターのメールサーバ管理から[システム管理メニュー]をクリック、[全設定(サーバー環境設定)]を開いて epstdd項目を確認、もしくは[SMTP送信詳細]を開く
- MXキャッシュファイルを自動生成しない設定にするため[MXキャッシュの更新間隔]を "0" (秒)に変更して、最後に[設定する]ボタンをクリック
- epstddサービスを再開
※このとき、送信ごとにDNSサーバのMXレコードへの問い合わせが発生することになりますが、実際には、OSのDNSキャッシュ情報が肩代わりされることになります。
deadフォルダに配送失敗メールデータを保管しない設定
deadフォルダに関して、配送失敗のメールデータを蓄積せず保管させない設定が可能です。その場合は次の操作を行ってください。
以下の通り、設定ファイルを操作して数値10進で作成、値を"0"に設定した後、SMTP配送サービス(epstdd)を再起動してください。
[メール作業フォルダ] (既定値 /var/spool/epms/)
reg
→epost
→ims
→EPST5DS
→SaveDead.1
(数値) Default:1 0:保管しない、1:保管する
なお、設定ファイルを設定していないときは、設定値として"1"が設定されているときと同値として扱われ、どこにも配送てきなくなったデータがdeadフォルダに保管される状態です。
(関連FAQ)
●1フォルダ当たりのファイル数が膨大になるとファイルシステムのパフォーマンスが劇的に落ちるとは?