east - Un par de preguntas sobre Amazon EC2
download key pair amazon ec2 (3)
Según recuerdo, las "unidades de cálculo" no están midiendo núcleos, sino que son una medida simple de "poder".
Además, dada la escalabilidad de los servidores, ¿sería mejor duplicar el poder de cómputo de una sola caja y alojar la base de datos y el servidor en la misma caja? ¿O debería tener 2 cajas separadas y más débiles?
Realmente depende de la aplicación. Probarlo y obtener datos concretos podría ser tu mejor opción.
Amazon mide su asignación de CPU en términos de núcleos virtuales y EC2 Compute Units. Las unidades de cálculo EC2 se definen como:
La cantidad de CPU que se asigna a una instancia particular se expresa en términos de estas unidades de cálculo EC2. Utilizamos varios puntos de referencia y pruebas para gestionar la coherencia y la previsibilidad del rendimiento de una unidad de cómputo EC2. Una unidad de cómputo EC2 proporciona la capacidad de CPU equivalente de un Opteron 2007 de 1.0-1.2 GHz o un procesador Xeon 2007. Este también es el equivalente a un procesador Xeon de 1.7 GHz a principios de 2006 al que se hace referencia en nuestra documentación original.
Mi pregunta es, por ejemplo, si tengo una "instancia grande" que viene con "4 unidades informáticas EC2 (2 núcleos virtuales con 2 unidades informáticas EC2 cada una)". ¿Esto significa que esencialmente tengo 4 núcleos en un sentido lógico? ¿Querría generar 4 hilos enlazados a la CPU? ¿O son las unidades de cálculo simplemente una medida de poder, y tengo 2 núcleos?
Además, dada la escalabilidad de los servidores, ¿sería mejor duplicar el poder de cómputo de una sola caja y alojar la base de datos y el servidor en la misma caja? ¿O debería tener 2 cajas separadas y más débiles?
nicholaides es correcto, las pequeñas instancias son el equivalente de un núcleo, los dos núcleos grandes. El resto de la medición se expresa como unidades de cálculo, que se definen de la siguiente manera:
Una EC2 Compute Unit (ECU) proporciona la capacidad de CPU equivalente de un Opteron 2007 de 1.0-1.2 GHz o un procesador Xeon 2007.
Ejecuto mi pequeño sitio web en una sola instancia pequeña, con el servidor web y la base de datos alojados en la única máquina virtual. Me ha impresionado el rendimiento, pero una vez más no tengo una gran cantidad de carga.
Si todo lo que está cuidando es rentable, probaría su configuración con ambos servidores funcionando en una única instancia pequeña (1 núcleo, 1 unidad EC2 a $ 0.10 / hora) y vería cómo se acumula. El siguiente paso sería una instancia mediana de CPU alta (2 núcleos, 5 unidades EC2 totales a $ 0.20 / hora). A menos que realmente esté martillando sus servidores, tengo que creer que podrá ejecutarlos en esa única instancia mediana. Por solo el doble del precio de la instancia pequeña, obtiene cinco veces el rendimiento, lo que es mucho mejor que ejecutar dos instancias pequeñas.
Una cosa a tener en cuenta es que las instancias medianas pequeñas y de alta CPU son de 32 bits, donde todas las demás (grandes, extra grandes y con una CPU extra grande) son de 64 bits. No puede ejecutar una imagen de Amazon Machine de 32 bits en una instancia de 64 bits, y viceversa. Si está trabajando con un AMI en stock, esto no es un problema porque normalmente podrá encontrar ambas versiones, pero para una imagen personalizada puede hacer que trabaje un poco más.
"4 EC2 Compute Units (2 núcleos virtuales con 2 EC2 Compute Units cada uno)" simplemente significa que obtiene 2 CPU virtuales, cada una de las cuales es dos veces más rápida que la instancia básica Small.
En total, obtienes 4 veces más potencia que la instancia Small, pero como solo tienes 2 núcleos, tiene sentido iniciar solo dos hilos.
En cuanto a su segunda pregunta, creo que Brad Larson la responde bastante bien. La instancia Media tiene mucho poder para el dinero. Ejecutamos nuestros servidores db en web en el mismo host, y es sorprendente cuántos sitios db-heavy puede ejecutar en una sola máquina. Sin embargo, dado que depende de su propia aplicación, lo mejor es compararla para ver cuánta carga puede manejar.
Si debe ampliar, le sugiero que separe los dos servicios en servidores diferentes, en lugar de ejecutar un servidor más grande, simplemente porque es más fácil optimizar cada host para el servicio específico.