Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET高CPU负载不会';将服务作为控制台运行一次时不会发生?_Asp.net_Iis 7_High Load_Web Worker - Fatal编程技术网

ASP.NET高CPU负载不会';将服务作为控制台运行一次时不会发生?

ASP.NET高CPU负载不会';将服务作为控制台运行一次时不会发生?,asp.net,iis-7,high-load,web-worker,Asp.net,Iis 7,High Load,Web Worker,我的环境:Windows Server 2008、IIE 7.0、ASP.NET 我开发了一个Silverlight客户端。 此客户端通过WCF web服务从ASP.NET主机获取更新 当我们的用户数量非常少(~50)时,我们会得到100%的CPU使用率和连接下降。 服务器显然应该能够处理更多的事情 我在我们的DEV服务器上运行了一些测试,事实上,100个请求/秒的最大速度超出了CPU。 奇怪的是,即使该服务被发送回硬编码数据的虚拟服务所取代,该服务仍然会使CPU达到最大值。 线程数看起来非常低

我的环境:Windows Server 2008、IIE 7.0、ASP.NET

我开发了一个Silverlight客户端。 此客户端通过WCF web服务从ASP.NET主机获取更新

当我们的用户数量非常少(~50)时,我们会得到100%的CPU使用率和连接下降。 服务器显然应该能够处理更多的事情

我在我们的DEV服务器上运行了一些测试,事实上,100个请求/秒的最大速度超出了CPU。 奇怪的是,即使该服务被发送回硬编码数据的虚拟服务所取代,该服务仍然会使CPU达到最大值。 线程数看起来非常低,大约为20个,所以我认为在某个地方存在一些争用

我更改了可以找到的所有配置选项以增加工作线程(
processModel
httpRuntime
MaxRequestsPerCPU
注册表项)。 没有什么变化

然后我停止了IIS服务器,并将web服务作为控制台运行(删除所有ASP身份验证引用)。 这项服务也耗尽了CPU

然后是神奇的部分:我关闭了控制台应用程序并重新启动了IIS,现在该服务以100个请求/秒的速度运行5-60%的CPU,我可以看到50多个工作线程。 我在我们的印前机器上做了同样的事情,产生了同样的神奇效果。 重新启动机器可以保持良好的性能


所以我的问题是:我的IIS服务器怎么了?我真的不明白是什么把它修好了


干杯。

找出CPU使用率高的根本原因,然后您可以找到解决方案


修复我的IIS服务器时发生了什么您重新启动了它;-)谢谢你的链接。我环顾四周,但找不到像那样有用的工具。最后,问题是EntLib日志块中有一个EventLog编写器未注册,每次尝试写入时都会抛出大量异常(它还被错误配置为写入太多条目)。