[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[postfix-jp: 1056] Re: /usr/sbin/sendmail をたたくのと、 SMTPをしゃべるのと、どちらが速いか?
- Subject: [postfix-jp: 1056] Re: /usr/sbin/sendmail をたたくのと、 SMTPをしゃべるのと、どちらが速いか?
- From: Yoshisato YANAGISAWA <yanagisawa@xxxxxxxxxxxxxxxxxxx>
- Date: Sat, 12 Mar 2005 14:06:20 +0900
柳澤です。
自分はfork-execが無く、I/O処理が少ない分だけSMTPを話す実装のほうが
速いと思います。
#質問された方がSMTPによる実装も試してみて
#どう変わったか報告してくれるとうれしいです。
SAWADA Hodaka wrote:
>>>>sendmailラッパーをたたくよりSMTPで渡したほうがpostfixサーバの
>>>>負荷は低くなるのでしょうか?
(snip)
> SMTP を一行一行 PHP でやりとりして、エラーを判断する処理と、
> sendmail を呼び出して戻値を判断するだけの処理では、
> 後者の方が圧倒的に簡単で、簡単が故にシステム全体として
> 高速であろうということを言いたかったのです。
「sendmail,postdrop,pickupのfork-exec処理+pipe I/O処理」と
「PHPで書かれたファイルの解釈+smtpdのfork-exec処理+SMTPのための
socket I/O処理」のどちらが重いかかという話だと思います。
エラー処理はすべてユーザーランドで行えますし、
処理内容は返り値のチェックと失敗メッセージ表示くらいだと
思いますのでかかる時間はそれらに比べると
無視できるほどに小さいのではないでしょうか。
ここで、Postfixのデーモン間のFile I/Oの処理と
質問者のプログラムとsendmailのPipe I/Oの処理と
質問者のプログラム(改)*1とsmtpdのSocket I/O処理と
にかかる時間がすべて同じだと仮定すると、
sendmailを使う場合の方がI/O処理が多く、fork-execの
回数も多いのでその分遅いと考えられます。
*1 質問者のプログラムが改変され、SMTPでPostfixと話すように
なった場合
> 高負荷でとっても困っている元質問者のところで、
> これから SMTP をしゃべるための開発をするのは大丈夫かなと
> 納期とコストの心配をしてしまったので、本来の質問の意図からは
> はずれた返事をしてしまいました。
PHPライセンスのソフトウェアを使うことに問題が無ければ
SMTPを話すためのライブラリはPEARに入っていますから
そのような心配は要らないと思います。
PEARが駄目だったとしても返り値を決め打ちしてそれと違っていたら
エラーにするという実装にすれば簡単に実装できると思います。
--------------------------------------------------------------
Yoshisato YANAGISAWA @yanagisawa@xxxxxxxxxxxxxxxxxxx@
_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxxxxxxxxxxxxxxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list
- References
-
- [postfix-jp: 1050] /usr/sbin/sendmail をたたくのと、 SMTPをしゃべるのと、どちらが速いか?, Y.Watanabe
- [postfix-jp: 1053] Re: /usr/sbin/sendmail をたたくのと、 SMTPをしゃべるのと、どちらが速いか?, SAWADA Hodaka
- [postfix-jp: 1054] Re: /usr/sbin/sendmail をたたくのと、 SMTPをしゃべるのと、どちらが速いか?, Takahiro Kambe
- [postfix-jp: 1055] Re: /usr/sbin/sendmail をたたくのと、 SMTPをしゃべるのと、どちらが速いか?, SAWADA Hodaka
[検索ページ]
[Postfix-JP ML Home]