martes, 30 de abril de 2013

Application pools y Web gardens (IIS / APS.NET)

Cuando se tienen varias aplicaciones ASP.NET corriendo sobre un servidor IIS, resulta conveniente crear pools diferentes para aquellas aplicaciones que tengan una demanda considerable.

Un pool de aplicaciones es una forma de agrupar una o más aplicaciones web bajo el dominio de un proceso (o un conjunto de procesos) denominado Worker Process.

Al asociar una aplicación a ese pool, IIS creará una (o más) instancia(s) del Worker Process para cada pool. En caso de que ocurra un fallo en una aplicación que provoque la finalización del Worker Process asociado al pool al que pertenece, otras aplicaciones asociadas a otros pools permanecerán funcionando sin problemas.

Cuando un pool de aplicaciones está controlado por más de una instancia del Worker Process se denomina Web Garden. El número de instancias del web garden es configurable en las propiedades del pool de aplicaciones.

Se debe tomar en cuenta que si la aplicación utiliza variables de sesión no funcionará con Web Gardens, ya que tales variables solo existen dentro del contexto de un único Worker Process.

Configurar un Pool de aplicaciones

Para administrar los pools de aplicaciones, se debe iniciar la interfaz de administración de IIS ejecutando el siguiente comando:

%SystemRoot%\system32\inetsrv\iis.msc

IIS 6

1. En la sección de Application Pools, se pueden crear nuevos pools, haciendo clic derecho sobre la misma, luego en la opción New, seleccionar Application Pool (ver imagen 2)... Para este ejemplo dejaremos los valores por defecto (ver imagen 1).

Imagen 1

2. En el directorio virtual, donde está la aplicación objetivo, clic derecho y elegir Properties. Se mostrará la ventana de propiedades de dicha aplicación. (ver imagen 2)

3. En el combo de Application Pool, se puede seleccionar el pool creado en el paso 1. (ver imagen 2)

Imagen 2

4. Para configurar el número máximo de instancias del Worker Process, presione clic derecho sobre el pool de aplicaciones, elija Properties y vaya a la pestaña Performance. En la sección Web garden, establezca el máximo número de procesos.

Imagen 3

IIS 7

1. Para crear un pool: Presione clic derecho en la sección de Application Pools y elija Add new application pool (imagen 4). Establezca un nombre para el mismo y presione la tecla Enter (imagen 5).

Imagen 4

Imagen 5

2. Para agregar una aplicación al pool creado, vaya a la aplicación o sitio web, haga clic derecho y elija Administrar sitio web / Configuración avanzada (imagen 6). Luego en la propiedad de Grupo de aplicaciones (Application pool) elija el que se creó en el paso anterior (imagen 7).

Imagen 6


Imagen 7

3. Para configurar el Web Garden para el pool creado, vaya al pool de aplicaciones (Sección Grupos de aplicaciones), haga clic derecho sobre el mismo y elija Configuración avanzada. Establezca la propiedad Maximum number of worker processes (Máximo de procesos de trabajo). Ver imagen 8.

Imagen 8