2012-05-14 41 views
5

發送50萬封電子郵件需要很長的時間:6至8小時。配額允許每秒發送90封電子郵件。從具有良好性能的專用服務器發送,因此內存/連接不應該成爲問題。一次使用批量的50封電子郵件。如何加快通過Amazon SES發送郵件?

在批處理中嘗試了不同數量的電子郵件:超過50個會導致CURL錯誤:好像亞馬遜對某些線程沒有響應。即使批次中有50個並且批次間隔爲1200ms,每個郵寄出現幾次打嗝。

因此,平均50個批次需要4到6秒才能完成+ 1.2秒的暫停 - 對於每天50萬的郵寄出票來說相當長的時間。

請指教如何調整郵件以使其速度接近90郵件/秒。

+1

90郵件/秒和平均支持郵件發送吞吐量沒有必要的相關事情。與亞馬遜支持吞吐量(即每小時)和推薦的方法可能是個好主意。 –

+0

單批90封郵件正常發送。它是出現問題的'生產'模式。 – Serge

+0

我有同樣的問題:(我計劃發送100萬封電子郵件,我用PHPMailer寫了一個腳本發送給SES,我測試了5封電子郵件,花費了10秒鐘!當我打開調試模式時,我發現每次發送一封郵件PHPMailer都重複了同樣的過程:打開與亞馬遜SES的連接,驗證,發送郵件內容並收到發送結果。如果我們可以打開連接並驗證一次,然後關閉,那麼速度會更快。不知道這是你的情況。你用什麼來發送電子郵件? –

回答

0

如何並行運行多個作業?這樣可以減少每個捲曲錯誤造成的潛在損害。從兩個工作開始,每個工作都有相應的暫停和限制。

你還應該確保你正在設置cURL超時。至少配置CURLOPT_CONNECTTIMEOUT和CURLOPT_TIMEOUT。

相關問題