質問: smtp電子メールボリューム 私の会社のアプリケーションには、顧客がオプトインに基づいてメールを送信するために使用する、すべてカスタムメイドのバルクメールシステムがあります。いくつかの特に大きな電子メールバッチ送信中にパフォーマンスモニタリングを行っているときに、現在の送信メカニズム(phpmailer)に起因する人為的な障壁があるように見えることに気づきました。彼らは私たちよりも速く送信していないことに気付きました。送信責任が戻ってきたので、今後の多数の大規模なクライアントを見越して徹底的にテストしています。メーラープロトコルの送信レートを改善すると仮定すると(swiftmailerへの変更を検討しています)、smtpサーバーも最終的にボトルネックになるかどうかを検討していました。 smtpサーバーからどのような種類のスループットを達成できますか? smtpの送信(認証、パッケージングなど)に関する考慮事項は、パフォーマンスを調整する際に再検討する必要がありますか?
回答: 私がphpを愛しているのと同じように、そこがシステムのボトルネックです。 phpは、テキスト処理に関しては他の言語の効率性がありません。 https://stackoverflow.com/questions/603163/is-perl-a-good-option-for-heavy-text-processing 電子メールの処理と送信には、perlの方が適しています。数年前、パーソナライズされた電子メールをオプトインに送信する簡単なperlプログラムを作成しました。 perlを使用して電子メールを作成し、ローカルのsendmailプログラムに送信するだけで、6時間で約80,000の電子メールを送信できました。これは、2gbのramを備えたかなり標準的なvirtual private server上にありました。ローカルのsendmailプロセスにジョブを送信していますか、それともphpmailerはsmtpを使用していますか? phpは電子メールを送信するためにネットワークソケットを開く必要がないため、ローカルのsendmailプログラムは高速になります。したがって、要約すると次のようになります。 phpの代わりにperlを使用します(perlも嫌いですが、より良いテキスト処理ツールです) ジョブをローカルのsendmailプログラムに送信します(必要に応じて、外部smtpサーバーにジョブを転送するように構成できます)。 ローカルサーバーが過負荷になった場合は、外部smtpサーバーを使用します。