[DELETE_MAIL]セクションは、メール削除に関する制限機構を実現します。
メールの削除処理は、基本的に以下の3つの段階を経て行われます。
ユーザがメールボックスからメールを削除したときに、メールを削除可能状態にする論理削除処理。
ユーザがメールを削除した場合、そのメールは論理的に削除された状態になります。このメールを「論理削除状態」であると呼びます。
論理削除状態のメールは、実際にはまだデータベースに保持されています。
メールをデータベースから削除可能かどうかを検査する処理。
論理削除状態のメールは、データベースから削除可能な状態に移行したかを定期的に検査されます。論理削除状態のメールが以下の条件をすべて満たしたときに、データベースから削除可能な状態になります。
そのメールの送信者と、すべての受信者がメールボックスからそのメールを削除した。
直接または間接的にそのメールを添付ファイルとして転送しているすべてのメールが論理削除状態である。
メールがデータベースから削除可能になった場合、そのメールを「物理削除可能状態」であると呼びます。
物理削除可能状態のメールをデータベースから削除する処理。
このメールの削除処理において、メールの同報者数が多い場合や転送階層が深い場合、メールが物理削除可能かどうかを検査する処理やメールを物理削除する処理を連続して行うと、サーバに高い負荷がかかりメールの配信処理に影響を与える可能性があります。
このセクションでは、これらのメールの削除処理によるメール配信処理の影響を抑える目的でメール削除に関するパラメータを設定します。
なお、以降の説明において、メールが物理削除可能かどうかを検査する処理とメールを物理削除する処理を合わせて「物理削除処理」と呼びます。
指定形式
[DELETE_MAIL] |
パラメータの説明
[CONTROL]セクションのoptionsの4ビット目が"0"の場合、メールの物理的削除は以下のようになります。
指定した転送階層数以内のメールは、メールデータベース内から物理的に削除されます。
指定した転送階層数を超えるメールは論理的に削除され、idle_periodに指定した時間に物理的に削除されます。
なお、[CONTROL]セクションのoptionsの4ビット目が"1"の場合は、指定した転送階層数に関係なく、idle_periodで指定した時間に物理的に削除されます。
物理削除のための空き時間(曜日と時間)を指定します。
設定方法は、"#hh:mm!hh:mm!fd!itd"です。
フィールド名 | 説明 |
---|---|
#hh:mm | 開始時間を指定します |
!hh:mm | 終了時間を指定します |
!fd | 開始曜日を指定します |
!itd | 終了曜日を指定します |
曜日指定を省略した形式も可能です。この場合、すべての曜日が対象となります。
曜日指定を行った場合、指定のない曜日は、終日物理削除が行われます。曜日は"0"が月曜日を、"6"が日曜日を表します。曜日は以下のように指定します。
0 | : | 月曜日 |
1 | : | 火曜日 |
2 | : | 水曜日 |
3 | : | 木曜日 |
4 | : | 金曜日 |
5 | : | 土曜日 |
6 | : | 日曜日 |
時間指定には、日をまたがる指定も可能です。
時間指定はすべてローカル時間です。
例1:idle_period = #20:00!05:00と指定した場合
毎日、午後8時~午前5時までが物理的な削除を行う時間です。それ以外の時間は論理的な削除です。
例2:idle_period = #20:00!05:00!0!4と指定した場合
月曜日~金曜日 | : | 午後8時~午前5時までが物理的な削除を行う時間です。 |
土曜日 | : | 午前0時~午前5時までが物理的な削除を行う時間です(金曜日の開始時間午後8時が有効になり、そのまま午前5時まで物理的な削除を行います)。 |
日曜日 | : | 終日物理的な削除が行われます。 |
例3:idle_period = #00:00!05:00!0!4と指定した場合
月曜日~金曜日 | : | 午前0時~午前5時までが物理的な削除を行う時間です。 |
土曜日~日曜日 | : | 終日物理的な削除が行われます。 |
連続してメール削除を実行する件数を指定します。運用時間(idle_periodで指定した以外の時間)、空き時間(idle_periodで指定した時間)の順に、","で区切って指定します。本パラメータを省略したとき、または数値以外が設定されたとき等、パラメータ値が不当の場合、Mailサーバは以下の値で動作します。
運用時間:0 空き時間:50
指定できる値は、0~999までです。999を超える値の場合は、999とします。
例:max_delete_items = 5,100と指定した場合
メール削除を、運用時間には連続で5件まで、空き時間には連続で100件まで処理します。
連続してメール削除を実行する秒数を指定します。運用時間(idle_periodで指定した以外の時間)、空き時間(idle_periodで指定した時間)の順に、","で区切って指定します。本パラメータを省略したとき、または数値以外が設定されたとき等、パラメータ値が不当の場合、Mailサーバは以下の値で動作します。
運用時間:0 空き時間:15
指定できる値は、0~999までです。999を超える値の場合は、999とします。
例:max_delete_time = 5,100と指定した場合
メール削除を、運用時間には連続で5秒まで、空き時間には連続で100秒まで処理します。
ポイント
max_delete_items、max_delete_timeのどちらかの指定に達した場合、メール削除の連続処理が制御されます。
運用時間中に発生したメールの削除処理を、論理削除処理だけにするかどうかを指定します。論理削除だけにする場合は、"1"を指定してください。
その場合、物理削除処理は、[DELETE_MAIL]セクションの"idle_period"で指定した時間に行います。
処理を後回しにした物理削除可能状態のメールは、"削除依頼"のファイルとして、TeamWARE Officeサーバをインストールしたディレクトリ配下にある"pq/pq_idle"ディレクトリに格納されます。
Mailサービスの"ACTIVE"スレッドが1つ存在するごとに、連続して削除するメールの数を減少させます。ここでは、その減少率(%)を指定します。省略した場合には、"10"%が指定されたものとして動作します。
計算式)
連続実行回数 = max_delete_items - (max_delete_items * active_delete_limit * ACTIVE数) / 100
例)指定形式例の時、連続実行回数は以下のようになります。
Mailサービスの"ACTIVE"スレッドが、1つも存在しない場合には、"max_delete_items"で指定している値の"100"が適用され、連続して物理削除処理を100回おこないます。
Mailサービスの"ACTIVE"スレッドが、1つある場合には、90回おこないます。計算式は以下となります。
90 = 100 - (100 * 10 * 1) / 100
idle_periodで指定した時間に、連続して物理削除処理を実行する"削除依頼"数の最低値を指定します。"active_delete_limit"の値からの計算によって、連続して物理削除処理を実行する値が、"0"以下になることがあります。この値は、このような場合に適用されます。省略した場合には、"20"が指定されたものとして動作します。
運用時のチューニング
通常運用
メールの配信処理を優先する場合は、max_delete_items、max_delete_timeパラメータによるチューニングを実施してください。
特に配信速度を重視しないのであれば、以下のように運用時間のパラメータをチューニングします。
max_delete_items = 30,100
max_delete_time = 15,100
空き時間のメール削除処理を優先的に処理するのであれば、以下のように空き時間のパラメータをチューニングします。
max_delete_items = 5,200
max_delete_time = 5,300
注意
通常運用時のmax_forward_link_levelは、"5"以上の値は設定しないようにしてください。"5"以上の階層数のメールを扱った場合、その後のメール操作(受信、削除など)による性能影響が発生しやすくなります。