En una instalación de Small Business Server 2011, una gran cantidad de procesos w3wp.exe parecen estar utilizando una gran cantidad de memoria desproporcionada. Las instalaciones listas para usar de SBS vienen con un total de 7 sitios y 20 grupos de aplicaciones ASP.NET (Sharepoint, Exchange, WSUS y cosas específicas de SBS como Remote Web Workplace).
La docena resultante de procesos w3wp.exe tiende a consumir más de 4 GB de memoria del servidor a lo largo del tiempo, siendo el grupo de aplicaciones pico el que pertenece a WSUS con alrededor de 800 MB en el conjunto de trabajo. Reciclar manualmente los grupos de aplicaciones a través de IIS MMC ayuda a reducir temporalmente el uso de memoria (los procesos w3wp.exe se reducen a 10 MB, algunos de ellos vuelven a crecer rápidamente), pero obviamente no es algo que un administrador quiera hacer todo el día. No pude encontrar ninguna recomendación sobre el reciclaje automático de los grupos de aplicaciones preinstalados de SBS, por lo que soy un poco reacio a "simplemente hacerlo" en los sistemas de producción.
Mi investigación en la red sobre cómo limitar esto solo arrojó una serie de publicaciones que indicaban que el consumo de memoria w3wp no dañaría pero beneficiaría el rendimiento ya que la memoria sería "liberada cuando otras aplicaciones lo necesitaran". El problema es que no funciona:
- por un lado, un SBS es un servidor de múltiples funciones, una de las funciones (la principal) es el almacenamiento de red CIFS que se beneficia enormemente del almacenamiento en caché del sistema de archivos que nuevamente depende de que la memoria sea "libre" como "no utilizada por otros procesos en ningún way ": los grupos de aplicaciones ASP.NET que casi nunca ven usuarios y comen memoria son contraproducentes
- Otra cosa es que todavía tengo que ver una disminución sustancial del consumo de memoria de las instancias de w3wp ante la escasez de memoria; lo que veo es una disminución menor en significativamente menos de 100 mb y un intercambio excesivo en su lugar, nuevamente perjudicando el rendimiento
Casi nunca administro aplicaciones IIS o ASP.NET, por lo que cualquier idea sobre cómo recortar eficazmente los requisitos de memoria para los grupos de aplicaciones es bienvenida.