Recientemente migré un conjunto de servidores Windows Server 2008 R2 / IIS 7.5 a nuevos servidores que ejecutan Windows Server 2012 / IIS 8.
Estoy experimentando un comportamiento extraño de IIS. Tenemos 2 servidores idénticos, cada servidor ejecuta 2 sitios web, cada uno en su propio grupo de aplicaciones. El código para cada uno de los sitios web es idéntico. (Literalmente ... mismo dll y todo, solo una configuración ligeramente diferente).
Los grupos de aplicaciones están configurados para reciclarse en un horario cada 24 horas, pero durante ese período de 24 horas, el uso de la CPU del proceso de trabajo w3wp se incrementa en incrementos del 12,5% (el servidor tiene 8 procesadores, por lo que no creo que sea una coincidencia).
Una vez que el uso de la CPU aumenta, NO volverá a bajar hasta que la aplicación se recicle. Por lo que puedo decir, la aplicación no está haciendo nada y NO está procesando solicitudes en este momento. Puedo bloquear todo el tráfico al servidor y el uso de la CPU simplemente permanecerá allí. Incluso puedo reiniciar el sitio web, y el uso de la CPU sigue siendo el mismo. La única forma de restablecer el uso de la CPU es reciclar o reiniciar el grupo de aplicaciones en el que se ejecuta.
Estoy algo seguro de que este problema no tiene nada que ver con mi código, pero ¿algún tipo de configuración de IIS deficiente o un cambio en IIS 8 que funciona mal con la configuración de hardware o algo así?
No estoy seguro de si es importante o no, pero estos son servidores Rackspace Performance Cloud.
Aquí hay una captura de pantalla para mostrarle la carga de la CPU a lo largo del tiempo en estos servidores (las flechas verdes señalan los momentos en que el grupo de aplicaciones se recicla. Puede ver que cada meseta es un múltiplo integral de 12.5%:
¿Alguien ha observado este comportamiento? He encontrado esta pregunta de 2009 con alguien que tiene lo que parece ser el mismo problema con IIS 6:
IIS w3wp usando alta CPU sin tráfico
Cualquier ayuda es muy apreciada