web-services - servicios - servidores amazon gratis
Amazon EC2: ¿Qué servidor de Ubuntu elegir: 32 bits o 64 bits? (8)
Estoy en proceso de seleccionar un AMI para mi sitio web en la red de Amazon EC2. Parece que las instancias de Ubuntu vienen en sabores de 32 o 64 bits. Es de suponer que los sistemas de 64 bits le den más espacio de direcciones de memoria, lo cual es bueno. Sin embargo, me pregunto si es un problema encontrar binarios precompilados. ¿Será mejor que me quede con 32 bits? Mi aplicación web no consume mucha memoria.
¿Por qué debería seleccionar uno sobre el otro y cuáles son los pros y los contras?
64 bits le da más espacio de direcciones de memoria y puede funcionar mejor en tareas intensivas del procesador. Encontrar binarios no debería ser un problema, suponiendo que uses software estándar como PHP y Mysql. Me gustaría ir con 64 bits a menos que tengas algunas bibliotecas raras que no se ejecuten en 64 bits.
A partir del 8 de marzo de 2012, Amazon EC2 admite AMI de 64 bits en todos los tipos de instancias.
Esto hace que las respuestas anteriores en esta lista no estén actualizadas ya que suponen que los diferentes tipos de instancia requieren diferentes opciones de arquitectura.
Recomiendo siempre el uso de AMI de 64 bits para que tenga la mayor flexibilidad al cambiar el tipo de instancia de una instancia y sus AMI personalizados creados a partir de la instancia funcionarán en cualquier otro tipo de instancia.
He escrito más sobre esto aquí: alestic.com/2012/03/ec2-64-bit
Hay algunos buenos puntos de discusión en los comentarios de los lectores sobre ese artículo para excepciones especializadas donde 32 bits podría tener un mejor rendimiento que 64 bits, pero recuerde que esto restringe los tipos de instancia en los que puede ejecutar.
Con: como dice RKitson, los punteros de 64 bits ocupan el doble de espacio de memoria. Esto puede costarle rendimiento si significa que sus cosas no caben ahora en la memoria caché de la CPU.
Pro: obtiene el doble de registros: los programas que se benefician de eso mostrarán una gran mejora en el rendimiento. (y un segundo profesional: las versiones de 64 bits de los paquetes se compilan con soporte SSE ... esto también podría mejorar el rendimiento, dependiendo de su carga de trabajo)
Simplemente construiría ambas imágenes y las compararía, eso es más fácil que teorizar, y tampoco debería costar días.
Debe tomar su decisión según el tamaño de los servidores que desee.
Los m1.small
32 bits solo se ejecutan en m1.small
, mientras que los m1.small
64 bits solo se ejecutan en instancias m1.large
y m1.xlarge
(más las respectivas variantes de CPU alta).
Las instancias más grandes obviamente cuestan más dinero, con un precio que se escala teóricamente linealmente con el rendimiento. Sin embargo, he encontrado que las instancias grandes y las x amplias realmente tienen un poco más de rendimiento / dólar que las instancias pequeñas.
En lugar de ser debido a la arquitectura de 32 o 64 bits, esto parece deberse a una disputa en los controladores de E / S. Si está trabajando seriamente en EC2, le recomiendo que vaya con m1.large
instancias de m1.large
y las m1.large
64 bits que eso conlleva.
Los conceptos básicos ya están respondidos. Solo me gustaría señalar que las microinstancias relativamente nuevas admiten 32 y 64 bits. Esto no (todavía) se aplica a instancias pequeñas .
Si el costo es la prioridad, vaya por 32 bits. Si el rendimiento es importante, vaya a 64 bits.
Un problema que surgió en mi equipo durante una implementación de 64 bits fue el hecho de que los punteros en una máquina de 64 bits son más grandes, por lo que nos quedamos sin memoria más rápido de lo que pensábamos.
No es una respuesta, lo sé, solo un aviso.
Yo diría que vaya con 32 bits a menos que realmente necesite 64 bits por razones de rendimiento. Puede ejecutar Ubuntu de 32 bits en una instancia m1.small que cuesta 10c / instancia hora, o aproximadamente $ 75 / mes; por el contrario, la opción más barata para 64 bits es m1.large, que cuesta cuatro veces más: 40 c / instancia hora o aproximadamente $ 300 / mes.