記事の最後へ▼ 
< 質 問 >
送信・受信の待ちについて

宜しくお願いします。
例えば、大量の送信処理が行われている最中にメールを受信した場合、
メール受信が遅れてしまうことは考えられるのでしょうか。
(待ち行列みたいな感じで。送信・受信が逆の場合も同様に。)
意味が伝わるでしょうか?
若輩ものですが教えて下さい。

銀燐 (05.29/06)


【 銀燐 (05.29/06) 】

補足します。
サーバをひとつにしてSMTP・POPの両方のサービスを行う場合に先ほど記載したような問題が起きないかどうかが不安です。
それともサーバを2台に分けて、
SMTPサーバ用・POPサーバ用とするべきでしょうか?
すみませんがアドバイスをお願いします。


【 通りすがり (05.29/06) 】

要約すると。
送信している間に、受信できるか?ってことですか?
だとすれば、出来ますよ。

そうじゃなくて、大量の送信をしていて、サーバ負荷が大きい時に、受信処理が遅れないか?
と言う質問なら、起きますよ。
ただ、そう言う状況は、かなりの高負荷が加わった場合ですから、その時はPCのスペックを上げることを検討した方がいいですね。
また、通常は何分か後に再送処理が行われるはずですから、遅延はあってもメールは届くと思います。

何人規模でメールサーバを立ち上げようとしているのか解らないですけど、千人程度なら一台で十分ではないでしょうか。


【 銀燐 (05.30/06) 】

お返事ありがとうございます。もう少し教えて下さい。
目標は、メールを受信したらすぐに返信を行いたいということです。
(出来る限り遅延したくない。SMTP配信中の遅延は仕方ないとしても
サーバ上での遅延は避けたいです。)
今の時点では、千人程度で検討していますが、いずれは1万人程度までにしたいです。

現在検討しているのは、Windowsのサービスプログラムを作成して
(送信サービスと受信サービスを別々に)、並列で動作させます。
サーバを1台にした場合、
Xmailはサービスとしては1つになると思いますので、
大量のメール受信中の送信処理、または大量のメール送信中の受信処理が
待たされるようなことは起こりますか?
(この場合、全ての受信処理完了後にようやく送信処理が動く、
または、全ての送信処理完了後にようやく受信処理が動く)

サーバを1台にした場合、XMailのサービスもひとつですので
上記のように並列で動作できるのかが心配です。

そこでサーバを
「受信サーバにXMailと受信サービス」
「送信サーバにXMailと送信サービス」
というように分けて構築したほうが良いのかなと思っています。
(この場合、送信・受信が並列で動作する←と思いますが)

費用はかかりますが、少しでも遅延を避けたいということであれば
サーバ2台の構成を選択すべきでしょうか?
未熟ですみませんがアドバイスお願いします。


【 通りすがり (05.30/06) 】

そんなにスピードが必要な理由が解らないので、一概には言えないかもしれませんが、SMTPとPOPを分けるより、千人単位で、サーバを分けた方が負荷分散につながるのではと思います。
また、初めのレスでも書きましたが、大量に処理しているいないにかかわらず、送受信処理は行われますから、(少し処理が遅くなったとしても)受信処理後に送信処理が行われることはありません。
# サービスが一つでも、処理はスレッド分けされていますから、並列動作は普通に出来ますよ。

P.S.
どの程度の処理能力を求めているのか解らないですけど、サーバスペックによっては、1万人でも1台で十分な気もします。
また、メールサーバに劇的なスピードを求めるのは、何か違うような気もしますから、本当にスピードが必要なら、別の方法を検討することも必要かと思います。
# まあXMailは十分安定していて早いと思いますけど。
# あとは運営してみてスピードが満足いくかどうかだけかな・・・。


【 Zaki (05.30/06) 】

大量アクセスをさばきたいのなら、XMailの起動オプション(-SXxx, -PXxx)でスレッド数を増やせばいいと思います。

デフォルト動作でもXMailはsendmailやpostfixなどよりずっと高速です。
爆速と言っていいくらいです。


【 銀燐 (05.30/06) 】

通りすがりさん、Zakiさん、
ご丁寧なレスありがとうございます。
大変勉強になりました。
実際に運用してみて確認してみようと思います。とりあえず1台の環境で試してみます。
また質問させて下さい。
ありがとうございました。

記事の先頭へ▲ 
SUPER LABORATORY