我最近将一组Windows Server 2008 R2 / IIS 7.5服务器迁移到了运行Windows Server 2012 / IIS 8的新服务器上。
我正在从IIS中遇到一些奇怪的行为。我们有2个相同的服务器,每个服务器运行2个网站,每个网站都在自己的应用程序池中。每个网站的代码都是相同的。(实际上...相同的dll和所有内容,只是配置略有不同)。
应用程序池设置为每24小时按计划回收,但是在这24小时内,w3wp worker进程的CPU使用率以12.5%的增量跳跃(服务器有8个处理器,所以我认为这不是巧合)。
一旦CPU使用率上升,在应用程序回收之前,它不会下降。据我所知,该应用目前不执行任何操作,也没有处理任何请求。我可以阻止所有流向服务器的流量,CPU使用率将保持不变。我什至可以重新启动该网站,并且CPU使用率保持不变。重置CPU使用率的唯一方法是回收或重新启动运行它的应用程序池。
我可以肯定地说,这个问题与我的代码无关,但是某种形式的IIS配置不佳或IIS 8中的某个更改与硬件配置不能很好地配合?
不知道它是否重要,但是这些是Rackspace Performance Cloud服务器。
下面的屏幕快照显示了这些服务器上的CPU负载(绿色箭头表示应用程序池回收的时间。您可以看到每个平稳段都是12.5%的整数倍:
有没有人观察到这种行为?我从2009年开始就发现这个问题,当时有人遇到了与IIS 6相同的问题:
任何帮助深表感谢