publicar para net instalar habilitar ejecutar deploy debug configurar asp aplicaciones asp.net iis web-applications iis-7

instalar - Grupos de aplicaciones independientes para aplicaciones ASP.net en IIS



instalar asp.net en iis windows 10 (9)

El principal beneficio de crear diferentes grupos de aplicaciones es que puede proporcionar a cada grupo otras credenciales. Sus 20 aplicaciones pueden comunicarse con 20 bases de datos diferentes que necesitan otro inicio de sesión. La mejor práctica es ejecutar cada aplicación usando una cuenta de servicio diferente.

No me preocuparía demasiado por el rendimiento. La mayoría del tiempo probablemente se gastará dentro de cada aplicación web, sin importar en qué proceso se encuentre cada aplicación.

He leído recomendaciones de que deberíamos crear grupos de aplicaciones separados para cada aplicación asp.net en nuestro servidor Win2008.

Tenemos aproximadamente 20 aplicaciones que estarían en el mismo servidor. Sé que esto crearía 20 procesos de trabajo separados que parecen muy derrochadores.

¿Es una buena práctica crear grupos de aplicaciones separados para cada aplicación?


Esto realmente depende de las aplicaciones, su modelo de seguridad y cuánto confía en las aplicaciones.

Aquí hay algunas cosas que siempre les digo a las personas que consideren cuando trabajan con grupos de aplicaciones.

  • Use grupos de aplicaciones separados si cada aplicación necesita un acceso diferente a los recursos del sistema. (Puede usar múltiples cuentas de proceso)
  • Si una aplicación es una fuente de recursos, de misión crítica o "desconocida", es mejor colocarla en su propio grupo para aislarla del resto del sistema.

Reubicado desde ServerFault, " ¿Por qué agregar grupos de aplicaciones adicionales en IIS? "

  • AppPools se puede ejecutar como identidades diferentes, por lo que puede restringir los permisos de esta manera.
  • Puede asignar una identidad diferente a cada grupo de aplicaciones para que cuando ejecute el administrador de tareas, sepa cuál es w3wp.exe.
  • Puede reciclar / reiniciar un grupo de aplicaciones sin afectar los sitios que se ejecutan en diferentes grupos de aplicaciones.
  • Si tiene un sitio web que tiene una pérdida de memoria o generalmente se comporta mal, puede colocarlo en un grupo de aplicaciones para que no afecte a los otros sitios web.
  • Si tiene un sitio web que requiere mucha CPU (como cambiar el tamaño de las fotos, por ejemplo), puede colocarlo en su propio grupo de aplicaciones y acelerar su utilización de CPU.
  • Si tiene varios sitios web que cada uno tiene su propia base de datos SQL, puede usar la autenticación de directorio activo en lugar de almacenar nombres de usuario / contraseñas en web.config.

Separar las aplicaciones en las piscinas es una buena cosa cuando hay un motivo, y hay una serie de buenas razones enumeradas anteriormente. Sin embargo, existen buenas razones para no separar las aplicaciones en diferentes grupos.

Las aplicaciones que usan el mismo acceso, la versión .NET, etc. se ejecutarán de manera más eficiente en un solo grupo y se mantendrán más fácilmente. Lo más irritante es que IIS matará las agrupaciones de aplicaciones inactivas, lo que requerirá que se vuelva a crear la agrupación en cada uso. Si aisla las aplicaciones poco utilizadas, impondrá un costo de inicio innecesario a los usuarios. Combinar estas aplicaciones en un solo grupo hará que los usuarios más felices no paguen el costo de inicio, servidores más felices cuando no les dan memoria a múltiples procesos y cortes de CPU y administradores más felices cuando tienen que administrar menos aplicaciones. quinielas.


Si sus aplicaciones son estables y no usan mucha memoria, entonces diría que está bien ponerlas en el mismo grupo de aplicaciones. Los Pools de aplicaciones te dan aislamiento entre tus aplicaciones.


Trabajamos como contratistas externos para un gran cliente corporativo. No estamos en el sitio, por lo que no tenemos conectividad con todos sus sistemas. A veces, durante el desarrollo, es necesario que depure una aplicación directamente en sus servidores de desarrollo. Para hacer eso, debo ser capaz de adjuntarlo al proceso de w3wp. Cuando adjunto y comienzo a depurar, todo el proceso se detiene, lo que afecta a todas las aplicaciones que están en el mismo grupo de aplicaciones / procesos. Al crear un grupo de aplicaciones dedicado y mover mi desarrollo allí, puedo depurar fácilmente sin hacer miserable la vida de nadie.


Una razón principal que considero al crear grupos de aplicaciones es la gestión de procesos. Existen otras razones, como la seguridad, etc. Cuando una aplicación alojada en IIS se bloquea, también elimina su proceso de host. En versiones anteriores de IIS, esto significaba que todas las actividades web se bloqueaban juntas. Con los grupos de aplicaciones puede aislar sus aplicaciones entre sí. Si uno tiene una pérdida de memoria y sigue bloqueando sus otras aplicaciones continuará funcionando.


sí, es una buena idea incluso para 20 aplicaciones.

  1. Seguridad. Diversos grupos de aplicaciones que se ejecutan en diferentes cuentas.
  2. Aislamiento. Una aplicación bloqueada no eliminará otras aplicaciones.
  3. Memoria (si está ejecutando 32 bits). Cada grupo de aplicaciones tendrá su propio espacio de direcciones. Por lo tanto, puede abordar mucha más memoria que un máximo de aproximadamente 2,7 GB de espacio útil para 1 proceso.
  4. Puede optar por reiniciar periódicamente una aplicación que no se comporta bien sin afectar a otras aplicaciones.

Solía ​​tener 58 sitios web de .Net y 17 sitios web clásicos antiguos de ASP en el mismo servidor de IIS7.5 usando pools de aplicaciones separadas para cada sitio. Noté que la compresión de IIS comenzó a fallar intermitentemente, causando que las hojas de estilo se corrompieran aproximadamente el 5% del tiempo. Al observar el mamanger de la tarea en el servidor, pude ver que el servidor se acercaba a su límite de RAM de 4 GB; cada proceso de w3wp.exe tomaba algo hasta 100 MB de memoria, dependiendo de cuánto tráfico recibía el sitio. Luego moví todos los sitios web a solo dos grupos de aplicaciones (uno para sitios web .net 4 y uno para los antiguos sitios ASP clásicos) y la memoria total utilizada después de hacerlo disminuyó de 3.8GB a poco menos de 2.8GB, ahorrándome más de 1GB de memoria espacio en el servidor. Después del cambio (y dejando el servidor en funcionamiento durante un par de horas para volver a los niveles normales de tráfico), los procesos de w3wp usaban 300 MB para todos los sitios web de .NET y 20 MB para los sitios web clásicos de ASP. Podría volver a habilitar la compresión IIS sin problemas.

Usar pools separados de APP es una gran idea por muchas de las razones mencionadas en las otras publicaciones anteriores, pero también en mi experiencia causa una sobrecarga de memoria mucho mayor si aloja un número considerable de sitios web en el mismo servidor.

Supongo que es una solución de compromiso entre las restricciones de hardware y la seguridad si desea utilizar grupos de aplicaciones independientes. Es una buena idea si tienes los recursos para hacerlo.