我已经构建了一个应用程序,通过Amazon SES为网站发送电子邮件邮件.它用C#编码.
每封电子邮件需要0.3秒才能通过Amazon SES API发送.这意味着,使用单线程应用程序,我每秒只能发送3封电子邮件.
我已经实现了一个生产者/消费者,多线程应用程序,其中1个生产者用于查询为每个客户定制电子邮件,25个消费者从队列中提取并发送电子邮件.
我的多线程应用程序每秒发送12封电子邮件(速度提高四倍).我原本预计25线程应用程序的速度会有更大的提升.
我的问题是:我能在单处理器机器上真正加快发送邮件的速度吗?我的收益是否合理,或者我的速度问题更可能是由于编码而不是计算机无法快速处理电子邮件?
提前致谢!
更新:如果其他人面临同样的问题....连接到AWS以发送电子邮件需要花费大量时间.AWS Developer论坛上的以下主题提供了一些见解(您可能需要向下滚动才能获得更有用的帖子).
c# performance multithreading producer-consumer amazon-web-services
使用AWS SES进行批量电子邮件发送的任何人?
我们有一个公司邮件列表,我正在使用多线程应用程序(.NET SDK)同时发送电子邮件,以便尽快将电子邮件发送到我们的列表.
我们已经能够每秒发送大约8封电子邮件......看起来相当低,特别是考虑到SES内置限制为90 /秒......我们远不及那个.
有人能告诉我他们使用SES每秒发送的最大电子邮件数量吗?
试图设定合理的基准.
谢谢!