¿Por qué mi instancia de Amazon EC2 es muy lenta?

Como algunos ya han mencionado, se necesitan muchos más detalles para ayudarlo con una respuesta adecuada.

Dicho esto, hagamos las preguntas que pueden ayudar y tal vez podamos hacer algunas suposiciones.

  1. Cuando diga que tiene una cuenta EC2, asumiré que tiene una cuenta AWS y que ha creado una instancia EC2
  2. Hay muchas formas y sabores de instancias EC2, por lo que sería útil saber lo que creó, es decir, como se mencionó en t1.micro, aunque gratis solo tiene 1 vCPU y .6 GB de RAM. Simplemente no podrá hacer mucho incluso con un sistema operativo muy compacto. (imagine tratar de ejecutar su dispositivo de computación personal en tan poco. Pero un m3.large estándar tiene lo que normalmente podríamos considerar como una máquina base con 2 vCPU y 7.5 GB de RAM. (una computadora de escritorio o portátil pequeña si es capaz) de ejecutar un sistema operativo y algunas aplicaciones)
  3. Cuando dice que está accediendo a través de un VPS, ¿está hablando de una VPN o tal vez tiene la instancia EC2 en una VPC (Virtual Private Cloud) en la que ha configurado una VPG (Virtual Private Gateway) en la que está utilizando una VPN? punto final. Si este es el caso, alguien ha sacado correctamente la latencia de su red, que puede probarse rápidamente utilizando cualquier cantidad de herramientas gratuitas.
  4. ¿Cómo ha configurado su disco? ¿Es EBS, S3, EFS, etc.? ¿Tiene su sistema operativo configurado correctamente, es decir, intercambio, etc.
  5. Si usted es un VPC, ¿cómo ha configurado las reglas de su grupo de seguridad y, potencialmente, las ACL de red? ¿Está enrutando su tráfico de manera eficiente?

Otras respuestas dicen comparar cómo funciona la aplicación con equipo físico, lo cual es una posibilidad (o tal vez ya sabes que funciona realmente bien con equipo físico), pero es posible que no tengas esa oportunidad. Por lo tanto, sugeriría seguir el enfoque recomendado por AWS de probar esto en una instancia más grande para ver cómo funciona.

Si usa una instancia bajo demanda, solo le costará unos pocos dólares probarla en tamaños cada vez mayores hasta que encuentre una que funcione.

Finalmente, como último pensamiento, si su aplicación requiere una instancia realmente grande (una familia x1) para ejecutarse, entonces podría repensar la arquitectura de su aplicación y dividir la carga de trabajo en la capa de presentación, la aplicación o la capa de cómputo y la capa de la base de datos.

Primero tienes que encontrar qué componente es lento. ¿Es un problema de red o falta de recursos en la instancia? Quizás sea por su aplicación, aparte del recurso.

Habilite la observación en la nube y monitoree el uso de los recursos para ver qué recurso se usa mucho. Ese recurso es probablemente corto, causando lentitud.

Monitoreo de Amazon EC2

Si es un disco y está utilizando HDD, puede elegirlo como SSD, aunque debe volver a implementar la instancia ec2.

Si se trata de red, CPU o memoria, considere cambiar el tipo de instancia. Estos recursos pueden escalarnos usando un tipo de instancia más alto.

Configuración de instancia de Amazon EC2

Tipos de instancia EC2 – Amazon Web Services (AWS)

Si estas cosas no mejoraron la situación, entonces quizás la aplicación la esté causando. Ejecute la aplicación en algunos servidores locales para ver si aún es lenta.

Tengo el mismo problema con mis máquinas T2. *, Porque funcionan con lo que llaman “créditos de CPU”.

Escribí ese artículo al respecto, con formas de detectar estos problemas, recibir alertas antes de que sucedan, y una solución para ayudarlo a recuperar su poder de CPU.

Si usa un promedio de más del X% de CPU (X dependiendo de su categoría T2.), sus créditos de CPU disminuirán lentamente, y cuando se quede sin ellos, sus máquinas se volverán lentas, hasta que deje de usar su CPU, y recupera tus créditos. A veces me sucede durante las semanas de “actualización de Windows” en un pequeño T2.micro.

Primero trate de descubrir qué lo hace lento. Monitoreo interno dentro de los ec2s, monitoreo de aws externo a través de cloudwatch. Puede crear una imagen del ec2 y utilizar la imagen personalizada para crear un nuevo ec2, ver si tiene el mismo problema, quizás probar otra zona de disponibilidad … Si descubrió qué es, disco io, cpu, latencia de red, puede escalar el ec2 apuntando al aspecto que necesita ser escalado. O puede escalar horizontalmente si es posible

Compra un servidor. Instale su aplicación en ese servidor conectado a un servicio de Internet empresarial de alta velocidad. Compare la velocidad de su aplicación en la nube con la velocidad de la aplicación en su propio servidor. Ven a tus propias conclusiones.

Cambie el tipo de instancia: es probable que esté utilizando el t2 micro con el nivel gratuito. No son particularmente eficaces. También puede reiniciar la instancia o incluso apagarla y reiniciarla, el host subyacente podría estar defectuoso.

¿Qué tipo de instancia estás usando? Si está utilizando el nivel gratuito, podría estar utilizando un t2.micro que no es tan poderoso.

Puede cambiar el tipo de instancia cuando su instancia está apagada.

¿Dónde está ubicado geográficamente en relación con usted? Es fácil obtener un tiempo de ping de 200 ms si estás en la parte equivocada del mundo.

Creo que es la latencia. ¿A qué distancia se encuentra la instancia EC2 de la ubicación a la que está intentando acceder? Acérquelo para resolver el problema.