2014-10-16 107 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

相关问题