![优化 IIS 6 SMTP 以发送大量电子邮件](https://linux22.com/image/519000/%E4%BC%98%E5%8C%96%20IIS%206%20SMTP%20%E4%BB%A5%E5%8F%91%E9%80%81%E5%A4%A7%E9%87%8F%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6.png)
我目前正在开发一个系统,该系统每月向订阅用户和客户发送大量新闻通讯(请注意,这不是垃圾邮件)。我们使用 IIS 6 虚拟 SMTP 服务器发送这些电子邮件,在大多数情况下,它运行良好。
但是有时我们必须发送 200K+ 封新闻通讯 - 在这种情况下,IIS6 队列很快就会填满,我们无法足够快地转移它们。发送 200K 封电子邮件可能需要很多个小时,在此期间,服务器大约使用了我们可以访问的 3mb 上传带宽中的 2.7mb。
我希望有人可以提供一些针对这种情况优化 IIS 6 的技巧,特别是针对某些服务器属性,例如“限制每个连接的消息数”(当前设置为 200)、“限制连接数”(当前设置为 1000)和“限制每个域的连接数”(当前设置为 100)。
答案1
我的建议是,不要。
从主邮件服务器发送新闻通讯可能是一个非常糟糕的主意。以下是一些原因。
- 你占用了你的邮件服务器,而它本来可以发送其他邮件
- 您将网络连接与服务器绑定,并且已经使用了 90% 的承诺数据速率。
- 如果有人将其报告为垃圾邮件,或者邮件提供商得知您的 IP 地址发送了大量被标记为垃圾邮件的内容,您就会被列入黑名单。这是一件非常糟糕的事情。
- 由于服务器是虚拟化的,所以您无法获得出色的性能。虚拟化严重限制了服务器的 IO 性能。它永远无法与裸机硬件速度相匹配。
建议:
使用 SMTP 中继服务发送批量电子邮件。 Port25.com很好。 Mailchimp提供邮件列表管理软件,甚至更好。它有一个开发人员 API,因此您可以将其与现有的服务和用户数据库绑定。
Mailchimp 还会让您了解各种电子邮件客户端的受欢迎程度。
答案2
发送 200K 封电子邮件可能需要很多个小时,在此期间,服务器将使用我们可以访问的 3mb 上传带宽中的大约 2.7mb。
好的,我们开始吧。这很好。说真的 - 你还指望什么呢?你的带宽利用率为 90%,我认为这已经非常好了 - 总是会有一些等待。你可以尝试发送更多并行消息(限制连接数),但最后我认为你已经处于饱和点。
- 检查您的光盘是否超载。
- 获得更多带宽
这几乎就是您所能做的一切。请记住,您的带宽利用率已经达到 90%。