2014-10-16 105 views
0

在我的localhost上,通過gmail發送帶有devise寶石的確認電子郵件平均需要5秒鐘,觀察天花板時間將近10秒。在做了一些研究後,看起來這是常態,因此建議您的服務器異步處理電子郵件傳遞。這個過程的哪一部分導致延誤?使用瀏覽器登錄gmail併發送電子郵件可能可以在比十秒鐘更短的時間內完成。服務器是否在等待收到其發送的電子郵件的某種回覆?爲什麼從服務器發送郵件非常耗時?

回答

1

我懷疑你可以登錄到Gmail併發送更快的消息,但也許。但延遲是由tcp連接開銷,ssl協商,SMTP認證引起的。在反垃圾郵件措施或SMTP橫幅延遲方面也可能會出現一些人爲延遲。然後,您需要傳輸消息並等待服務器說出正確,然後在傳遞方法返回之前斷開連接。你可以在你的網絡主機上運行你自己的排隊郵件服務器,它可以做ssl,不會進行認證等等,而且速度會更快。然後它可以通過你的上游智能主機或者說像谷歌。這會更快地將控制權返回給你的Rails應用程序,並讓郵件服務器處理排隊,退後等等,而不是讓Rails應用程序等待提交。

+1

一些進一步的挖掘表明,這其中大部分是建立tls連接,所以如果你發送到你自己的本地主機上的郵件服務器與不tls/ssl它應該是更快。 – Doon 2014-10-18 00:54:58

相關問題