Active Directoryへの問い合わせリトライ間隔と時間を調整するには

AD(Active Directory)連携時に、メールサーバからADへの問い合わせが大量に発生するケースで、認証に時間がかかる現象のときには、2009年12月以降にリリースされたモジュールで追加されたレジストリ項目によって、ADへの問い合わせリトライ待ち時間を短く調整できるようになりました。さらに、従来から用意されているレジストリ項目を組み合わせることで、ADへの問い合わせリトライ総時間の調整が可能です。
もともと、E-Post Mail Server がAD連携環境にてパスワード認証をする際、メールサーバからADに向けて、ユーザー検索のリクエストを数回行う仕様になっています。このとき、ADへの問い合わせリトライ間隔は、従来バージョンではプログラム内部で1秒固定ですが、新しいバージョンでは、このリトライ間隔を調整できるようになっています。

2009年12月以降に公開されている最新差分を適用後、レジストリのキー"ADRetryMSec"をDWORDで作成、数値を設定することによって、リトライ間隔を調整できるようになります。このキーが有効なサービスプログラムのバージョンは以下の通りです。
・EPSTRS   4.63以降
・EPSTDS   4.47以降
・EPSTPOP3S  4.26以降
・EPSTIMAP4S 4.30以降

[AD連携時のユーザー情報問い合わせリトライ間隔(リトライ待ち時間)設定レジストリ]
HKEY_LOCAL_MACHINE
 →SYSTEM
  →CurrentControlSet
   →Services
    →EPSTRS
     →ADRetryMSec (DWORD) デフォルト1000(ミリ秒)
    →EPSTDS
     →ADRetryMSec (DWORD) デフォルト1000(ミリ秒)
    →EPSTPOP3S
     →ADRetryMSec (DWORD) デフォルト1000(ミリ秒)
    →EPSTIMAP4S
     →ADRetryMSec (DWORD) デフォルト1000(ミリ秒)

(例)デフォルト1000(ミリ秒)=1秒 → 300(ミリ秒)=0.3秒

レジストリ設定値を変更したときは、各サービスの再起動が必要です。

ちなみに、上記バージョンからは、AD連携設定時に、メールボックスの設定が環境変数 %USERNAME% を含む設定のときに限り、ADへの問い合わせ2回目以降にホームフォルダの検索をしないようにしました。その結果、AD連携時の処理速度の高速化がはかられています。環境変数 %HOME% を含む設定のときは変わりません。

なお、リトライ回数を設定するための"ADRetryTime"キーについては、従来バージョンでも有効です。
[AD連携時のユーザー情報問い合わせリトライ回数設定レジストリ]
HKEY_LOCAL_MACHINE
 →SYSTEM
  →CurrentControlSet
   →Services
    →EPSTRS
     →ADRetryTime (DWORD) デフォルト10(回)
    →EPSTDS
     →ADRetryTime (DWORD) デフォルト10(回)
    →EPSTPOP3S
     →ADRetryTime (DWORD) デフォルト10(回)
    →EPSTIMAP4S
     →ADRetryTime (DWORD) デフォルト10(回)

レジストリ設定値を変更したときは、各サービスの再起動が必要です。

この新しい"ADRetryMSec"値と、従来バージョンから設けられている"ADRetryTime"値との掛け算によって、ADへの問い合わせリトライ総時間が決まります。言い換えると、ADリトライ待ち時間×ADリトライ回数の調整でAD問い合わせリトライ時間を調整します。

ADRetryMSec値(ミリ秒)×ADRetryTime値(回)=ADユーザー情報問合せリトライ総時間

例) 1000ミリ秒(1秒)×10回=10秒
   300ミリ秒(0.3秒)×30回=9秒
   300ミリ秒(0.3秒)×20回=6秒

調整のしかたによっては、ADへの問い合わせが大量に発生するケースで、リトライ待ち総時間が増えてしまったり、認証できず接続エラーが増える状況も考えられますので、設定値を変更するときは、いたずらに速度を上げることだけを目的としないで、より安全かつ確実に認証が通ることを確認しながら行ってください。