同時に許可する着信 SMTP 接続の数をチェックします。これは SMTP サービスのディスパッチャー設定である MAX_PROCS および MAX_CONNS によって制御され、許可できる同時接続数は MAX_PROCS*MAX_CONNS です。接続数が少なすぎる場合、システムリソースに余裕があれば、この数を増やすことを考慮してください。
使用できるもう 1 つの方法は、TELNET セッションを開くことです。
次の例では、ユーザーは 127.0.0.1 ポート 25 に接続しています。接続すると、220 バナーが返されます。次に例を示します。
telnet 127.0.0.1 25 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is ’^]’. 220 budgie.sesta.com --Server ESMTP (Sun Java System Messaging Server 6.1 (built May 7 2001)) |
接続して 220 バナーを受信しても、その他のコマンド (ehlo や mail from など) が応答を不正としない場合は、imsimta test -rewrite を実行して設定が正しいことを確認する必要があります。
220 バナーの応答が遅い場合や、SMTP サーバーで pstack コマンドを実行すると次の iii_res* 関数 (名前解決検索が実行されていることを示す) が表示される場合があります。
febe2c04 iii_res_send (fb7f4564, 28, fb7f4de0, 400, fb7f458c, fb7f4564) + 42c febdfdcc iii_res_query (0, fb7f4564, c, fb7f4de0, 400, 7f) + 254 |
このような場合は、localhost/127.0.0.1 のような一般的なペアでも、ホストが名前解決のリバース検索を行う必要があることも考えられます。このようなパフォーマンスの低下を回避するには、/etc/nsswitch.conf ファイルでのホストの検索順を並べ替えてください。このためには、/etc/nsswitch.conf ファイルの次の行を変更します。
hosts: dns nis [NOTFOUND=return] files |
変更後は次のようになります。
hosts: files dns nis [NOTFOUND=return] |
/etc/nsswitch.conf ファイルでこのような変更を行うと、複数の SMTP サーバーで不要な検索を実行する必要がなく、少数の SMTP サーバーでメッセージを処理するため、パフォーマンスを向上させることができます。
着信 SMTP over TCP/IP メールを処理しているチャネル (通常は、tcp_local と tcp_intranet) 上に slave_debug キーワードを設定することもできます。これを実行したあと、最新の tcp_local_slave.log-uniqueid ファイルを見直して、タイムアウトになったメッセージの特性を識別します。たとえば、受取人の数が多すぎる着信メッセージがタイムアウトになった場合は、チャネル上で expandlimit キーワードを使用することを考慮してください。
システムが過負荷になっていて拡張されすぎている場合は、タイムアウトを完全に回避するのは難しくなります。