• 締切済み

sendmailでメールの送信が遅いんです。

sendmailでメールサーバを作ってみました(DNSも)。ところがメールの受信は1秒もかからないのですが送信は約7秒くらいかかってしまいます。送信しているメールにはもちろん内容はありません。自分自身に送っても外部ドメインに送っても遅いです。(メールはちゃんと送受信できます。)こんなものなのでしょうか?

みんなの回答

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

おそらくDNSのほうの設定も問題かと思います。 smtpサーバーを探すのに時間がかかってるのでしょう。 DNSのゾーンの設定が正しくできているかもう一度確認して みてはどうでしょうか?

tontoro
質問者

お礼

お二人ともありがとうございました。設定を見てもどこが悪いのかわからなかったので何気なくファイアウォールをすべて通過にしてみたところあっさりメールを送ることができました。私もDNSかsendmailの設定だと思っていたのですが間違っていました。ありがとうございました。

  • nipotan
  • ベストアンサー率59% (134/227)
回答No.1

素人なので、あまり回答に自信はないですが。。。 間違ってる可能性がありますが、一応、私の思い込みはこんな感じです。 参考になればと思います。 まず MTA は、送信時に MUA が付加していない、RFC (2)822 的に必要とされるヘッダを付加します。 付加させるためには、オリジナルのメッセージのヘッダを一通り走査します。 走査と生成、付加に若干の時間が掛かります。 次に送信時に、Recipient の addr-spec に基づき、MX レコードを正引きします。mailbox 形式から addr-spec をパースし、addr-spec からパースした後に行われるの上、これは多分、全ルーティングポイントで行われるので、それなりに時間を要すとは思います。 また、ルーティングポイントで適宜 Received ヘッダを付加するので、その生成、付加作業も若干の時間を要します。 そして受信部分ですが、Recipient 側では、受けたメールに Received ヘッダを付け、ヘッダ上の mailbox から addr-spec をパースし、local-part をパースし、除外すべきヘッダを除外し、該当ユーザのメールボックスへ振り分けます。 恐らくこれらの動作が行われるので、送信のほうが受信よりはるかに時間が掛かるのは至極当然な気がします。(受信は、上記受信部分のみ…かな) ただ、7 秒というのは少々パフォーマンス的にはよくないとは思うんですが、sendmail.cf を見直せば、パフォーマンスはある程度向上すると思います。 あと、他の daemon 等のプロセスが sendmail に負荷を掛けてる可能性もあるでしょうから、カーネルも必要最小限で構築し、setpriority() を実装したプラットフォームであれば、nice 値を適宜変更する事によって、送信のパフォーマンスを上げる事も出来る気がします。 以上、素人なりの薀蓄でした。。。

関連するQ&A