2009-04-10 12 views
6

En un servidor que ejecuta varios sitios ASP.NET, ¿es mejor utilizar un grupo de aplicaciones por sitio o para que los sitios compartan un solo grupo de aplicaciones? ¿Cuáles son las ventajas o desventajas inherentes a cada configuración? ¿O hay una regla dura y rápida aquí?Compartir grupos de aplicaciones .NET

Respuesta

5

Esto realmente depende de cuáles son los requisitos del sitio, así como su preocupación con respecto a los riesgos.

Cuando dos aplicaciones se ejecutan dentro del mismo grupo de aplicaciones tienen el mismo nivel de seguridad, por lo que hay una preocupación de seguridad para algunos ya que en teoría cada uno podría tener acceso a los archivos de la otra. Además, si un sitio comienza a tener problemas y utiliza memoria, podría causar reciclajes o heladas que podrían afectar a ambos.

Aunque no hay una regla "difícil y rápida" para esto, algunas de las cosas que considero y que causan decisiones "automáticas" para mí son las siguientes.

  • ¿La aplicación es crítica? (En caso afirmativo, grupo de aplicaciones separado)
  • ¿Es esta una aplicación de terceros? (De ser así, e inseguro de todo lo que hace, fondo de aplicaciones separado)
  • ¿Esta aplicación verá picos de actividad importantes? (De ser así, podría ser mejor aislarlo)

Hay mucho por ahí, pero las claves son el aislamiento y la capacidad de solucionar problemas de aplicaciones individuales. Aquí hay un Microsoft article que también toca un poco.

+0

Entonces, si el ciclo de vida de la página, por ejemplo, de un cliente requiere una gran cantidad de recursos y tiempo para completar, sería mejor separarlo en grupos de aplicaciones separadas para que los hilos no se recojan todos. – Markive

1

Sería dependerá mucho de si ciertos sitios necesitan más fiabilidad que otros, lo que su carga esperada por sitio es, etc.

que comparten una piscina será más eficiente en general, pero una sola aplicación puede más mal comportamiento causar problemas rápidamente para otros sitios. Además, puede reciclar o actualizar grupos de aplicaciones por separado, lo que puede facilitar los calendarios de mantenimiento.

1

No hay una regla rígida. Tiendo a usar un grupo de aplicaciones por sitio (e IIS7 incluso de manera predeterminada a crear uno por sitio) porque me gusta ir a lo seguro en caso de que tenga una pérdida de memoria en un sitio/grupo, no quiero que afecte y elimine otros sitios. Pero también tengo algunos servidores donde 100 sitios comparten un único grupo sin problemas. Entonces, como siempre, depende.

+0

¿Por qué arriesgar 100 sitios por grupo único? ¿Qué estás ganando? Si la ejecución está pausada para uno, ¿no están todos pausados? ¿Sería 4 A/Ps con 25 sitios cada uno un poco más de trabajo pero más resistente? – Markive

3

Una de las ventajas de los AppPools por separado es que, en el caso de que necesite reciclar el AppPool, puede hacerlo para un sitio sin afectar el rendimiento (o almacenamiento en caché) de los demás.

0

Preferiría una sola aplicación, un solo grupo de aplicaciones, ya que tiene problemas de rendimiento. Una excepción en el hilo de fondo (una vez que alguien comienza a jugar de manera sincronizada) puede derribar todo el grupo de aplicaciones. Y a menos que tenga el reciclaje automático habilitado, esto puede causar muchos problemas.

2

Una regla fundamental para recordar:

NO put .Net 1.1 y 2.0 de .NET aplicaciones en el mismo grupo de aplicaciones. Enredará las cosas muy rápido.

Cuestiones relacionadas