2009-02-10 5 views
23

Estoy en el proceso de seleccionar una 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.Amazon EC2 - ¿Qué servidor Ubuntu elegir: 32 bits o 64 bits?

¿Por qué debería seleccionar uno sobre el otro y cuáles son los pros y contras?

+1

Buena pregunta pero encaja un poco mejor en Server Fault, creo. – Jonik

+4

La mayoría de las respuestas están desactualizadas ahora que Amazon EC2 admite AMI de 64 bits en todos los tipos de instancias. Como EC2 no es compatible con 32 bits en todos los tipos de instancias, recomiendo usar siempre 64 bits: http://alestic.com/2012/03/ec2-64-bit –

Respuesta

13

Debe tomar su decisión según el tamaño de los servidores que desee.

AMIs

32 bits sólo se ejecutan en m1.small, mientras AMIs 64 bits sólo se ejecutan en m1.large y m1.xlarge casos (además de las respectivas variantes de alta CPU).

Las instancias más grandes obviamente cuestan más dinero, con un aumento teórico de los precios 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 contención en los controladores de E/S. Si está trabajando seriamente en EC2, le recomiendo que vaya con las instancias m1.large y las AMI de 64 bits que eso conlleva.

+4

Hoy en día hay más tipos de instancias para AMI de 32 y 64 bits: http://aws.amazon.com/ec2/instance-types/. Aparte de eso, +1 – Jonik

+0

Sé que esto fue respondido en 09, pero ¿cuánto de una ganancia de "rendimiento/dólar" estamos hablando aquí? Por ahora, también tenemos t1.micro corriendo a 2 centavos/hora. Por lo tanto, en lugar de obtener un m1.large, me pregunto si es aconsejable obtener una tonelada de t1.micro (cada uno a $ 15, no $ 250) – Antony

+0

"A partir del 8 de marzo de 2012, Amazon EC2 admite AMI de 64 bits en todos tipos de instancias ". - ver la respuesta de Eric a continuación. –

9

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.

+2

Esto es una gran preocupación cuando la memoria está restringida; He visto regularmente que las aplicaciones de Rails consumen un 80% más de memoria en sistemas de 64 bits que en 32 bits. Sí, la memoria es barata, pero si tienes que gastar el doble de dinero, sigue siendo un costo significativo. – womble

+0

¿Su equipo lo ha probado en un entorno de 32 bits? – Philip

0

64 bit 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.

1

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 están compiladas con compatibilidad SSE ... esto también podría mejorar el rendimiento, dependiendo de su carga de trabajo)

Construiría ambas imágenes y las compararía, eso es más fácil que teorizar, y no debería costar días tampoco.

1

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.

2

Si el costo es la prioridad, vaya a 32 bits. Si el rendimiento es importante, vaya a 64 bits.

2

Los conceptos básicos ya están respondidos. Solo me gustaría señalar que las relativamente nuevas instancias micro admiten 32 y 64 bits. Esto no (todavía) se aplica a instancias pequeñas.

9

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 este listado caduquen 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 personalizadas creadas a partir de la instancia funcionarán en cualquier otro tipo de instancia.

He escrito más sobre esto aquí: http://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 especializados donde 32 bits podría realizar mejor que de 64 bits, pero recuerda que este restringe los tipos de instancias en los que puede ejecutar.

+1

Esta respuesta y el artículo vinculado realmente deberían ser más visibles. +1 en bote para usted señor! –

Cuestiones relacionadas