¿32 bits o 64 bits para los sitios web de Windows Azure?

13

Los sitios web de Windows Azure ofrecen dos opciones de 32 bits o 64 bits. Los nuevos sitios vienen con 32 bits por defecto. Para una configuración de servidor, se siente un poco extraño porque, AFAIK, la gran mayoría de los servidores web han estado en la configuración de 64 bits durante años. Teniendo en cuenta los casos de uso habituales para los sitios ASP.NET, ¿hay alguna razón para favorecer 32 bits sobre 64 bits?

Joannes Vermorel
fuente

Respuestas:

4

Depende de tu carga de trabajo.

IIS + .NET en rocas x64 y puede soportar cargas de trabajo muy grandes. Si realiza pruebas de carga, verá que los servidores x64 con suficiente CPU y RAM superan a x86 en buena medida.

Si su carga de trabajo es pequeña y / o va a equilibrar la carga de varios servidores, es posible que x86 esté bien. (Creo firmemente en el uso de las instancias más pequeñas posibles para la carga de trabajo; gran parte de TI está arrojando metal al problema y es un desperdicio. X86 es hermoso. Desafortunadamente, cada vez es más difícil obtener instancias x86).

En nuestro caso, balanceamos la carga de múltiples servidores x64. Sin embargo, durante las operaciones de implementación, toda o la mayor parte de la carga se puede dirigir a un solo servidor. En nuestro caso, si ese servidor fuera x86, sería estresado y muy lento. Como es x64, puede manejar la carga y los usuarios no lo notan.

Jonesome restablecer monica
fuente
Hace poco me enteré de que el recolector de basura bloquea todos los hilos durante el proceso, ocasionando una latencia más alta a veces. Una vez que habilite 64 bits, el recolector de basura actuará con menos frecuencia, mejorando así el rendimiento de su aplicación.
Tom
3

La respuesta es: es complicado. Solo es simple si su aplicación requiere acceso a muchos GB de RAM (la mayoría de las aplicaciones no), entonces debe tener 64 bits.

De lo contrario, solo probar su aplicación específica bajo 32 bits y 64 bits puede decirle con certeza, y luego depende de lo que sea más importante para usted, la huella de memoria o el rendimiento de la CPU. Recuerde, si se ejecuta fuera de la memoria a continuación, su aplicación va a cualquiera de las páginas en el disco y decir adiós (de una manera enoooooooormes) a cualquier ganancia en el rendimiento que puede haber recibido de cambiar a 64 bits, o su escala automática entrará en funcionamiento y se quiere Azure le cobrará más dinero por las instancias de servidor agregadas, o comenzará a recibir errores de OutOfMemory, que se acabó el juego para su aplicación.

Ver también: https://www.hanselman.com/blog/PennyPinchingInTheCloudYourWebAppDoesntNeed64bit.aspx

Harlow Burgess
fuente
1

Vaya a 32 bits a menos que necesite un espacio de direcciones de 64 bits, lo cual es raro en un sitio web normal.

La razón es simplemente que los sitios web normalmente no necesitan el espacio de direcciones y 32 programas bi se ejecutan más rápido.

Ahora tu dices:

la gran mayoría de los servidores web han estado en la configuración de 64 bits durante años

Sí, pero:

La configuración predeterminada para un grupo de aplicaciones IIS es comenzar en modo de 32 bits, por razones de compatibilidad y rendimiento. El consejo de Microsoft para la configuración de IIS es usar grupos de aplicaciones de 32 bits en un servidor de 64 bits.

Cheque:

http://www.iis.net/learn/web-hosting/web-server-for-shared-hosting/32-bit-mode-worker-processes

para la declaración oficial.

Puede estar seguro de que se ejecutará en un servidor de 64 bits, ya que no hay una oferta actual de producción de 32 bits de Microsoft. Pero a menos que necesite las mayores cantidades de RAM, el impacto performacne no vale la pena.

TomTom
fuente
"La configuración predeterminada para un grupo de aplicaciones IIS es comenzar en modo de 32 bits" Eso no ha sido cierto por algún tiempo. IIS siempre es x64 en el sistema operativo del servidor x64 y requiere piratería para generar 32 bits.
Jonesome Reinstate Monica
1
"Los programas de 32 bits se ejecutan más rápido". eso no es globalmente cierto.
xaxxon