我们有一个前端 MS Exchange 2003 服务器,最近人们开始抱怨电子邮件没有送达。仔细查看日志后,我们发现了以下错误消息:
> Event Type: Error
> Event Source: Service Control Manager
> Event Category: None
> Event ID: 7031
> Date: 6/4/2009
> Time: 11:08:00 AM
> User: N/A
> Computer: <Server>
> Description:
> The IIS Admin Service service terminated unexpectedly. It has done
> this 39 time(s). The following
> corrective action will be taken in 1
> milliseconds: Run the configured
> recovery program.
我们找到了MS 知识库文章 Q304166,并且能够通过一次删除一封邮件并重新启动服务来确定 Exchsrvr\Mailroot\vsi 1 文件夹中的哪封邮件导致了问题。
造成所有这些破坏的电子邮件是一个 200K 的 PDF 文件,该文件通过电子邮件发送到 3,500 个地址。为什么交易所会被严重削弱?我意识到 3500 是大量发送电子邮件的人,但我猜想 SMTP 服务器会限制连接,并在晚上甚至几天内慢慢发送这封电子邮件。
我的问题:
Exchange 中有没有办法确定最大 SMTP 负载?其他人是否看到过同样的反应,或者我们是否应该在服务器上寻找错误配置?
当/如果我们需要再次发送到一个大组时,有没有办法衡量服务器可以在一批中处理多少,或者我是否需要使用 Perfmon 并开始测试以查看它如何处理 100,250,400 等?
这不是容量问题——这是一个错误。应用程序中任何未处理的异常都是错误。(永远不要让开发人员告诉你。)
你是最新的补丁吗?
编辑:听起来你已经发现了我的错误,如果你能重现这个问题。我不知道如何实际向 Microsoft 报告这样的错误,但它可能需要报告。
这绝对是一个错误。Exchange 2003 中的 SMTP 引擎实际上构建为一组由 IIS SMTP 引擎加载和运行的扩展。如果 w3svc 崩溃,很可能是因为消息格式不正确(包括错误地址或行为不端的收件人服务器的可能性)——而不是因为文件大小或收件人数量产生的负载。
如果您想进一步测试,您可以让用户将消息发送到原始 3500 的较小子组,以缩小问题范围。
服务器不应该因此而崩溃。我会打电话给 MS 进行跟进,我在 MS 支持方面拥有丰富的经验,而且非常值得。如果你用 MS 买了一张票,结果证明是他们的错(看起来像这样),他们会退票。
作为旁注,您可以从 MS 购买 technet plus,其成本低于 2 次支持事件的成本,technet plus 包括 2 次支持电话以及对测试软件和托管新闻组的访问。