【发布时间】:2010-03-06 00:54:04
【问题描述】:
我们客户的网络应用会以随机间隔突然重启。对于每次重新启动,我们都会在 Windows 事件日志中找到这样的条目:
Event Type: Warning
Event Source: W3SVC-WP
Event Category: None
Event ID: 2262
Date: 2/21/2010
Time: 1:33:52 PM
User: N/A
Computer: LIQUID-NXCFZ9DJ
Description:
ISAPI 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll' reported itself as unhealthy for the following reason: 'Deadlock detected'.
这种情况在 3 周内发生了 10 次,其中有几个在几个小时内发生了 2 或 3 次,并且也持续了一周以上没有发生。
在故障转储中,我们可能有 70-80 个客户端连接,如下所示:
GET request for <path here>
Mapped To URL <mapped path>
HTTP Version HTTP/1.1
SSL Request False
Time alive 00:55:24
QueryString <query string here>
Request mapped to
HTTP Request State HTR_READING_CLIENT_REQUEST
Native Request State NREQ_STATE_PROCESS
(那是 55 分钟!!!没有理由客户端连接应该那么长)
machine.config 中的相关条目:
<system.net>
<connectionManagement>
<add address="*" maxconnection="200" />
</connectionManagement>
</system.net>
和(内部):
<deployment retail="true" />
<!--<customErrors mode="Off"/>-->
<processModel autoConfig="true"
memoryLimit="60"
maxIoThreads="200"
minIoThreads="30"
minWorkerThreads="40"
maxWorkerThreads="200"
clientConnectedCheck="00:00:05" />
<httpRuntime
minFreeThreads="20"
minLocalRequestFreeThreads="10"
enableKernelOutputCache="false"
maxRequestLength="10240" />
最近一次,我们能够看到它正在发生的情况,并且看到大约 20 个查询在 Sql Server 中都处于“暂停”状态。看起来它们可能都与一个表相关(Items 表,一个非常重要的用于许多不同操作的表)。
我们不确定最好的办法是解决问题。当崩溃发生时,Sql Server 清除了。
任何关于正在发生的事情或如何找出正在发生的事情的指导,我们将不胜感激。
【问题讨论】:
-
好问题。但请学会格式化你的问题。输入问题时,请查看黄色的“如何格式化”框。
标签: asp.net sql-server crash deadlock