IIS性能问题从7变为8.5

时间:2015-03-05 16:27:48

标签: asp.net .net asp.net-mvc iis iis-8.5

我们正在将大约100个网站从基于IIS 7的解决方案迁移到IIS 8.5解决方案。两者都是Load Balanced,基于2个运行IIS的共享虚拟机。

所有网站在旧解决方案上运行正常,页面加载时间从0.2秒到2秒不等。我们升级到一个假定的更快的解决方案,以便我们有更多的空间来扩展和添加更多的站点,但现在负载是新的解决方案,我们有大量的性能问题。一旦将大约40个站点​​重新分配给新服务器,我们才开始出现问题(我们没有重新指定剩余的站点)。

在网站IIS重置或更改应用程序池设置后,所有网站运行良好且快速大约10-20分钟,但随后撞到了一堵砖墙,请求间歇性地请求网站上任何页面的10-20倍(但仍然没有错误返回)。我们混合使用.NET 3.5 webforms和MVC .net 4.5站点。所有网站都受到影响,但似乎更频繁地影响MVC网站。

我认为它与负载有关,但CPU显示几乎没有任何东西(几乎超过30%),ram大约80%,3GB空闲,即使服务器网站上没有其他任何东西运行,仍然在最初后缓慢期。这就像应用程序池阻塞或耗尽内存或其他东西,但我们无法在任何地方看到任何实际的块,这一切似乎都是随机的。

我们尝试过的事情在20分钟的重置期后没有任何影响:

  • 绕过负载均衡器
  • 检查新Web服务器之间的差异(两者都有相同的问题,但可以在不同的时间使用它)
  • Checked Perfmon,活动线程计数在0到5之间徘徊,有时在10处达到峰值,请求/秒在20处达到峰值。
  • 根据https://msdn.microsoft.com/en-us/library/ee377050%28v=bts.70%29.aspx将MaxPoolThreads增加到20并将MaxConcurrentRequestsPerCPU增加到5000(虽然很难判断它是否真的有效)
  • 事件查看器显示没有意外的应用池回收
  • 将工作进程更改为4(我们有一个会话状态服务器)
  • 即使“%windir%\ system32 \ inetsrv \ appcmd list request”显示没有阻止项目,也会出现
  • ,appcmd可以显示阻止.css和.jpg文件以及任何网页(小jpg可以显示响应时间)最多60秒)
  • 关闭C驱动器和共享IIS文件的文件索引。
  • 将会话状态更改回InProc以进行会话。
  • 应用程序上的FailedReqLogFiles只显示(例如)2969ms的时间,但对于FormsAuthentication上的VIRTUAL_MODULE_UNRESOLVED,只有很长时间的分解时间为719ms

其他信息   - 应用程序池的请求限制没有内存限制,每天凌晨3点回收   - 一个网站运行正常,我们添加了另一个新的网站/应用程序池,之前的网站减速了20倍,新网站也运行缓慢。   - 网站或应用程序池的数量是否有限制?我们目前在网站上的ID为109,但有些已被删除,因此那里有大约90个网站,其中大约有40个网站正在运行

任何关于做什么或在哪里看的想法都将不胜感激!我们是程序员的交易,但我们笨拙地试图解决这个问题,因为主持人说这不是他们的问题!

0 个答案:

没有答案