¿Cuáles son los principales beneficios de Windows de 64 bits sobre 32 bits para las aplicaciones ASP.Net?

8

Además de las ventajas de la asignación de memoria de 64 bits (> 4 GB; consulte esta pregunta en StackOverflow para saber por qué las soluciones de 32 bits +4 GB no me funcionan), ¿qué otras razones tengo para recomendar que debamos alojar una ASP? ¿Sitio web .NET en Windows Server 2008 de 64 bits, a diferencia de la versión de 32 bits?

Si solo se trata del problema de memoria direccionable más grande (> 4 GB), tenemos una solución de equilibrio de carga de todos modos para que podamos escalar agregando un nuevo cuadro (virtual).

Las CPU tampoco funcionarán en caliente, por lo que cualquier ganancia de velocidad marginal no podría justificarse.

Mi propio presentimiento es que deberíamos alojar en 64 bits si podemos, simplemente porque es más fácil de escalar (conectando más RAM cuando sea necesario). ¿Pero es eso?

¡Todos los comentarios e ideas son bienvenidos!

Duncan
fuente
¿Compartido o dedicado? Diferencias significativas en la configuración de su sitio web en un servidor compartido ...
Christopher_G_Lewis
En realidad, MS recomienda ejecutar aplicaciones ASP.NET en modo de 32 bits EN UN SISTEMA OPERATIVO DE 64 BITS. 4 g de 32 bits son un límite incorrecto, ya que cuenta para el sistema. En un sistema de 64 bits, puede tener más de 4 gb y apsp.net usa parte de él. El almacenamiento en caché, etc. se puede hacer afuera.
TomTom el
@TomTom ¿esta recomendación sigue siendo cierta hoy? Si es así, ¿tiene una referencia para ello?
Ohad Schneider

Respuestas:

15

Creo que la pregunta que realmente deberías hacerte es ¿por qué no usar x64? Si su hardware es compatible y sus aplicaciones funcionan, ¿cuál es la razón para quedarse con 32 bits? Hay poca o ninguna diferencia de costos y es la forma en que todo el software futuro se moverá, Exchange 2007, por ejemplo, es solo de 64 bits y estoy seguro de que muchas nuevas piezas de software seguirán ese camino.

Si no puede encontrar una razón convincente para quedarse con 32 bits, entonces elegiría 64.

Sam Cogan
fuente
12
  • Los cpus x86_64 tienen el bit de no ejecución en sus tablas de páginas. Es decir, esto puede evitar vulnerabilidades de seguridad causadas por desbordamientos del búfer. Los cpus x86 de 32 bits solo admiten esta característica en el modo PAE.
  • solo puede usar controladores de Windows firmados . En mi humilde opinión, esto es una ventaja porque no puede romper su sistema con un controlador roto, no probado. Recuerde, la mayoría de los problemas de Windows son causados ​​por controladores rotos.

Para ser honesto: en mi opinión, ¡64 bits debería ser el valor predeterminado durante años ! No puedo creer cuánto tiempo le toma a la comunidad de Windows hacer el cambio. No puedo entender por qué Microsoft incluso se molestó en lanzar una Vista de 32 bits (y ahora incluso Windows 7). Incluso Apple decidió cambiar de PowerPC a x86 de 32 bits, aunque la mayoría de los cpus en ese momento ya eran capaces de 64 bits. Esto no tiene sentido para mí en absoluto. Todo sería mucho más fácil si todo fuera de 64 bits y solo de 64 bits.

knweiss
fuente
+1 esta respuesta señala algunas de las características "desconocidas" de Windows de 64 bits sobre 32 bits.
Matt
Los controladores firmados pueden ser una molestia cuando necesitas que funcione el hardware, y Windows decide no instalar el controlador porque no está firmado, incluso si funciona bien.
Dentrasi
1
Lo cual es prácticamente un problema en un servidor, especialmente uno virtual;) IOt es más común en los escritorios, pero el nivel de servicio hardwae ALL ha firmado controladores.
TomTom
4

Hay muchas "razones", pero la primera y principal es que todos los productos de Microsoft van a x64. "Prepara el diseño para el futuro" un poco y le da a sus aplicaciones ASP.NET más espacio para fallar (por ejemplo, por un error OOM).

Jeff Costa
fuente
4

Esto no está relacionado con ASP.NET, pero lo agregaré por razones de integridad. Algunos productos de Microsoft Server, como Exchange Server 2007 , solo se ejecutan en plataformas Windows de 64 bits. Creo que podrías llamar a eso un beneficio.

splattne
fuente
2

No creo que haya una diferencia de costos dramática entre ninguno de los dos, entonces, ¿por qué no simplemente implementar el nuevo servidor con Windows Server 2008 de 64 bits? La capacidad de utilizar su mayor capacidad de memoria es la mejor (y solo que yo sepa) razón para usarla. Con una memoria tan barata hoy en día, ¡4 GB parecen muy poco para un nuevo servidor!

Russ Warren
fuente
1

Hay alrededor de 10 excelentes respuestas a esta pregunta en este reciente podcast de RunAs Radio sobre computación de 64 bits .

Una cosa mencionada es que el ancho del bus se duplica y, por lo tanto, puede leer / escribir datos más rápido. El aumento de rendimiento es leve en comparación con 32 bits para uso doméstico, pero ciertamente vale la pena para un servidor.

p.campbell
fuente
0

Hay un error oscuro (pero real) similar a Y2K que afecta a la mayoría de las máquinas de 32 bits. Se debe a la época de Unix , utilizada en algunos programas de Windows también, que tiene un valor máximo de algún momento en el año 2038. ¡En ese momento se extenderá hasta 1901!

Ver Wikipedia " El problema del año 2038 "

Relevante para esta pregunta porque afecta a máquinas de 32 bits que usan una variable de tamaño de máquina estándar para almacenar la época de Unix. Se resolverá con la actualización a 64 bits.

unixman83
fuente