Estamos a punto de implementar un montón de sitios en algunos servidores nuevos. Tengo las siguientes preguntas sobre los grupos de aplicaciones:
Parece aconsejable tener un grupo de aplicaciones por sitio web. ¿Hay alguna advertencia sobre este enfoque? ¿Un grupo de aplicaciones acaparará toda la CPU, memoria, etc.?
¿Cuándo debería permitir múltiples procesos de trabajo en un grupo de aplicaciones? ¿Cuándo no deberías?
¿Se puede usar el límite de memoria privada para evitar que un grupo de aplicaciones interfiera con otro? ¿Establecerlo demasiado bajo provocará solicitudes válidas para reciclar el grupo de aplicaciones sin obtener una respuesta válida?
¿Cuál es la diferencia entre los límites de memoria privada y virtual?
¿Existen razones convincentes para NO ejecutar un grupo de aplicaciones por sitio?
fuente
Respuestas:
Este es un enfoque bastante bueno; No hay buenas razones por las que se me ocurran para que diferentes "sitios" (aplicaciones) compartan el mismo grupo. A menos que necesiten compartir un solo recurso de algún tipo. Teóricamente, una aplicación podría acaparar mucha CPU o memoria, pero cambiar la forma en que se agrupan las aplicaciones realmente no afectará tanto.
Es mejor dejarlo solo, usando la configuración predeterminada. A menos que realmente sepa lo que está haciendo, esto puede tener un impacto negativo en su sitio web / aplicación.
a) teóricamente
b) Sí, configurarlo a un nivel inferior puede tener efectos negativos. Nuevamente, a menos que tenga necesidades específicas y sepa lo que está haciendo, simplemente déjelos en paz.
Eso es muy complicado, aquí hay una publicación rápida que encontré que podría ayudar: http://cybernetnews.com/cybernotes-windows-memory-usage-explained/
Nuevamente, la única razón por la que puedo pensar es que si hay algún tipo de "recurso compartido" que necesitan las aplicaciones múltiples, entonces querrás ejecutarlas en el mismo proceso.
Para aplicaciones y sitios web de propósito general, IIS está bastante bien configurado con sus valores predeterminados.
****ACTUALIZAR****
En lo que respecta a su solicitud de información adicional en el n. ° 2, no debe hacerlo a menos que tenga una necesidad específica de hacerlo. Incluso con las acciones del servidor que llevan mucho tiempo, las solicitudes se atienden utilizando múltiples subprocesos, y usted querrá usar "Solicitudes asíncronas" para manejar tareas de ejecución prolongada (lo que libera un subproceso de grupo de subprocesos para manejar otras solicitudes). Siendo realistas, no se me ocurre ninguna buena razón para permitir múltiples procesos para un solo grupo.
Una vez que comience a hablar de múltiples procesos, entonces potencialmente se encontrará con cosas como: perder el estado de la sesión porque una sesión está viva en el proceso 1, pero la solicitud está siendo manejada por el proceso 2. O peor aún, tiene que descubrir cómo hacer alguna comunicación entre procesos, lo cual es un verdadero dolor.
No importa con lo que venga en relación con una razón para múltiples procesos, estaría dispuesto a apostar que hay una mejor manera de lidiar con eso (en lugar de activar otro proceso).
fuente
Siempre configuro un grupo de aplicaciones dedicado para un sitio web. Los escenarios de alojamiento de sitios web de bajo costo son donde tiene sentido tener una gran cantidad de sitios por grupo de aplicaciones.
Los límites de memoria son realmente solo umbrales de seguridad primitivos para evitar que un sitio consuma todos los recursos del sistema. Tenga en cuenta que esto es más un problema potencial en Windows 2008 R2 x64 que en IIS 6.0 x86, porque las aplicaciones x86 tenían un límite de memoria natural de 2 GB. Es mucho más fácil en IIS 7.5 que una aplicación con pérdida de memoria consuma grandes cantidades de memoria.
Tampoco soy un gran admirador de los grupos de aplicaciones de reciclaje. Si tengo un grupo de aplicaciones y soy la única aplicación en ejecución, si nuestro código no tiene nada de malo, probablemente no sea necesario reciclar el grupo de aplicaciones. Y si hay un defecto en la aplicación, la última acción apropiada sería corregir el código.
fuente