从Windows服务器上的ASP.NET C#脚本发送的每小时电子邮件数量是多少?

时间:2011-02-25 10:49:24

标签: c# asp.net email smtp windows-server-2008

我们经常使用德国和美国的Windows 2003,2008和2008 R2服务器向我们的客户发送批量电子邮件(当然没有垃圾邮件,只是简报),以及我们管理的邮件数量小时在5.000到12.000之间变化,具体取决于我们是使用提取文件夹,本地SMTP还是商业SMTP服务器。我们使用标准.NET库或MailBee组件的简单直接脚本。

这样好吗?平均?坏? 是否有任何明显的瓶颈(即编写多线程脚本是否有意义,还是与邮件服务器的连接限制了速度?)?

1 个答案:

答案 0 :(得分:2)

在您编写的任何代码之外,有一些事情会限制此过程的性能。

  1. 发送电子邮件的服务器上的Internet带宽。
  2. 发送这些电子邮件的位置。那就是你的smtp服务器最终必须连接并与电子邮件收件人的电子邮件提供商的服务器通信才能发送电子邮件。有些服务器很慢,有些服务器很忙,只需要很长时间才能连接。
  3. 关于使用多线程加速,嗯,减速在哪里?

    电子邮件发送(和接收)主要是I / O绑定任务。在这个问题上抛出线程可能会或很多都无法提高性能。这完全取决于是否存在瓶颈(在代码中)某些地方是否仅受服务器处理能力或带宽的限制。

    看看这个SO post我回答了我提供可能有用的多线程解决方案的地方。本质上它使用称为“Data Parallel”的并行编程技术,其中工作负载基本上被分解为多个块,然后每个块由线程处理,保持块的数量与(或接近)的数量相同。机器上的核心。