¿Por qué los grupos de aplicaciones de 32 bits son más eficientes en IIS? [cerrado]

12

He estado ejecutando pruebas de carga con dos aplicaciones web ASP.NET diferentes en IIS. Las pruebas se ejecutan con 5,10,25 y 250 agentes de usuario. Probado en una caja con 8 GB de RAM, Windows 7 Ultimate x64. El mismo cuadro que ejecuta IIS y el proyecto de prueba de carga.

Hice muchas corridas y los datos son muy consistentes. Por cada carga, veo un "Tiempo de página promedio (seg.) Más bajo y un" Tiempo de respuesta promedio (seg.) Más bajo si tengo "Habilitar aplicaciones de 32 bits" establecido en Verdadero en los Grupos de aplicaciones. La diferencia se hace más pronunciada cuanto mayor es la carga. Con cargas muy altas, las aplicaciones web comienzan a arrojar errores (503) si los grupos de aplicaciones son de 64 bits, pero pueden mantenerse al día si se configuran en 32 bits.

¿Por qué los grupos de aplicaciones de 32 bits son mucho más eficientes? ¿Por qué no es el valor predeterminado para los grupos de aplicaciones de 32 bits?

mhenry1384
fuente

Respuestas:

16

Los punteros de memoria de 64 bits y otras estructuras de datos relacionadas son dos veces más grandes que sus contrapartes de 32 bits. Además, un subproceso de trabajo de 64 bits incurrirá en una penalización cada vez que tenga que acceder a código de 32 bits o DLL a medida que cambia de modo. (Investigue WoW64 y thunking).

La mayor (pero no la única) ventaja de usar 64 bits es la capacidad de direccionar mucha más memoria. Si su grupo de aplicaciones no usa más de 2 o 3 gigabytes de memoria, y no necesita ejecutar específicamente un código de 64 bits, entonces probablemente no haya una razón convincente para que vaya a 64 bits. A medida que avanza la tecnología, los fabricantes de chips están haciendo registros de CPU adicionales, especialmente para los procesadores de 64 bits para mejorar su rendimiento, pero en términos generales, no hay un aumento mágico del rendimiento solo por usar más bits. De hecho, como acabas de presenciar, puede ser peor.

64 bits = Tanque Abrams

32 bits = Toyota Prius

Uno puede hacer mucho más trabajo, pero el otro puede pasar por el paso de McDonald's.

Ryan Ries
fuente
44
Odio hacer trampas, pero ambos pueden pasar por el drive-thru de McDonald's. Es solo que uno lo hace sin derribar la pared.
HopelessN00b
3
Odio hacer trampa pero creo que eso dependerá en gran medida de la definición de ajuste. Si decimos "tener el tamaño y la forma adecuados" según lo definido por las especificaciones de McDonald's, diría que no :).
GraemeMiller