[PHP-users 34794] Re: 大量のメールからPHPにパイプする場合の注意点について
Ryosuke Hosoi
hosoi @ ryo.com
2009年 10月 11日 (日) 10:00:42 JST
ほそいです
2009年10月10日17:41 <aug721 @ gmail.com>:
> オカムラと申します。
>
> メールを受信したタイミングでPHPに処理をさせるような実装は、大量にメールが送信された際、
> 全てのPHPで処理されるのでしょうか?
> それともPHP、メールサーバの設定、PHPの実装によっては処理できない状況が発生するのでしょか?
> ※大量のメールとは、同時に100通程度を想定しています。
>
> また、その他にもこのような処理をする際に注意する点があれば教えて下さい。
> メールサーバは、Postfixを予定しており、メールからPHPへ繋ぐために下記のように記述しています。
>
> .forward
> "| /usr/local/bin/php -q /home/hogehoge/mail.php"
>
> 運用されている実績、発生している問題点を含め情報があればお願いします。
phpの話というよりpostfixの話ですが、
local_destination_concurrency_limit
というパラメーターで、ローカル配信の最大並列度を調整できます
これは大量のメールがきた場合も問題が発生しにくいように、デフォルトで2と
いう数値が設定されていて、マニュアルにも
| .forward ファイルやエイリアスに (メーリングリストマネージャのような) 負荷の
| 高いシェルコマンドがある場合だけに備えた、2という低い制限が推奨されます。
| 同時にこれらをたくさん動かす必要はないでしょう。
とあります。
postfixのマニュアル"local(8)"から関連する部分を精読し、終了ステータスなども
ちゃんと実装すれば問題ないかと
--
Ryosuke Hosoi / 細井 良祐
mailto:rhosoi @ gmail.com http://www.ryo.com/
PHP-users メーリングリストの案内