我们的一个网络服务器遭受随机w3wp.exe崩溃的影响,经过几周的调试后我根本无法找出原因。到目前为止唯一有帮助的是将最大工作进程从15减少到5但是这并不理想,因为我们使用的是多CPU机器,希望减少所需的服务器总数。我们提供大量小额请求,因此需要并行处理。
据我所知,所有可能的并行处理冲突源都是使用线程锁定解决的。
第一个错误: 应用程序:w3wp.exe 框架版本:v4.0.30319 描述:由于.NET运行时在IP 70D9CECA(70D40000)中出现内部错误,退出代码为80131506,该进程终止。
紧随其后: 错误应用程序w3wp.exe,版本7.0.6002.18005,时间戳0x49e023cf,错误模块clr.dll,版本4.0.30319.1,时间戳0x4ba1d9ef,异常代码0xc0000005,错误偏移0x0005ceca,进程ID 0x%9,应用程序启动时间0x%10
非常感谢
修改 问题最终解决了。事实证明,SQL Server在每次查询后都会直接卸载数据库,因此每个新查询都必须等待它重新挂载。无论如何,告诉SQL Server不要这样做似乎已经解决了它,不知道它是如何工作所以我很高兴
答案 0 :(得分:3)
问题最终解决了。事实证明,SQL Server在每次查询后都会直接卸载数据库,因此每个新查询都必须等待它重新挂载。无论如何,告诉SQL Server不要这样做似乎已经解决了它,不知道它是如何工作所以我很高兴
答案 1 :(得分:2)
异常代码0xc0000005通常指向内存访问冲突。寻找您可能正在使用的任何不安全组件。
答案 2 :(得分:1)
你正在努力乘车。追踪和纠正这些例外非常棘手。
第一步是获取IIS Debug Diagnostic Tool (v1.1)。安装完成后,您需要设置一些跟踪项目,然后将调试器附加到正在运行的进程中。请记住,这个工具收集了大量的数据(它可能超过1GB的东西),所以梳理它可能很麻烦,但它很有可能告诉你哪些模块导致崩溃和什么模块干扰。
w3wp.exe崩溃的原因是,在代码/运行状况监视/等已经完成的事务阶段发生了不可处理的异常。
在我个人的案例中,我发现将会话与流程分离解决了问题。我从来没有发现完整的原因,但我们最好的猜测是,分页的内存要求太大,w3wp.exe无法同时处理所有内容。一旦我们分离到外部会话状态服务器,问题就消失了。
答案 3 :(得分:0)
现在可能是重新思考网络花园的时候了。 Scott Forsyth有一个有趣的11分钟vLog,关于为什么webgardens会适得其反:http://dotnetslackers.com/articles/iis/Why-You-Shouldnt-Use-Web-Gardens-in-IIS-Week-24.aspx
链接到他在VLog中提到的文章:
调整IIS6和IIS7的建议 - 阅读整篇文章:http://support.microsoft.com/kb/821268更多信息http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx
他的底线是,如果你有网络花园解决的性能问题 - 使用网络花园作为一个伟大的拐杖,直到潜在的性能问题(通常是资源争用)得到解决