Windows 2008 IIS 7.0间歇性减速

我有一个Hyper V 2008 R2实例(2GB内存)上运行的应用程序。 该应用程序在asp.net mvc 3.0和.Net 4.0上运行。

这是一个低stream量的内部应用程序(每秒1-2个请求)。

我们正在经历一个惊人的应用程序减速,我们不能指出原因。

这是RequestAcquireState中卡住连接(超过60秒的时间)的屏幕截图: 在这里输入图像说明

该服务器是IIS7和Windows Server 2008(最近10天前)的全新安装,也是VM中唯一的Web应用程序。 我们还在应用程序池中使用MSMQ,以便应用程序可以将消息广播到队列中。

有5个瘦客户端使用NComputingterminal连接到一台访问Web应用程序的机器。

我想你可能想要把这个到StackOverflow进行更深入的潜水 – 我敢肯定,无论你得到的答案是要么在Web / machine.config文件中设置调节限制,要么重新开发应用程序代码。

对于正在处理的请求,我注意到它们都来自非常less的客户IP地址; 已知某些组件可能会序列化来自同一个IP的访问(或者是同一个会话 – 这些连接是否都是同一个用户打开?)。

如果这不是简单的后循环缓慢,并且对主机,特别是IO争用(史诗磁盘队列?)的大图片性能分析没有解决它,我不知道有一个IIS级别的设置要解决这个问题。 (除非它不是新鲜的)。

最简单的方法来排除它:在任务pipe理器中抓取进程的转储,然后用PSSCOR2debugging,试着找出所有的服务员在等什么,以及是否有一个讨厌的小“maxSomethings = 2”。 或者是一个贪婪的exception处理程序,它不会清理,这又会使我们回到SO领域。