Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

293
Visualizações
el servidor web que se ejecuta dentro de un contenedor docker que se ejecuta dentro de una instancia EC2 responde muy lentamente

Tengo un servidor web que se ejecuta dentro de un contenedor docker en la instancia de AWS EC2 Ubuntu. Cuando envío solicitudes al servidor web, obtengo la respuesta muy lentamente (más de 20 segundos la mayoría de las veces, aunque el tiempo de respuesta varía). Sin embargo, no se agota el tiempo . El servidor web es muy ligero. Es solo para probar, por lo que casi no hace nada.

 docker version 17.03.0-ce docker-compose version 1.12.0-rc1

Cómo depuré hasta ahora

  1. Cuando se envían solicitudes al servidor web que se ejecuta en el contenedor acoplable desde la instancia EC2 (url = ' http:// localhost:xxxx/api '), sigue siendo muy lento. Por lo tanto, no debe estar relacionado con el envío de solicitudes desde el exterior.

  2. Ejecuto otro servidor web dentro de EC2 directamente (no en un contenedor docker) y no es lento . Responde muy rápido.

  3. Ejecuto otro servidor web dentro de otro contenedor docker en EC2, ¡y también es muy lento!

  4. Cuando envío la solicitud desde el interior del contenedor docker al servidor web que se ejecuta en él (en su host local), ¡ también es muy lento !

  5. ¡Ejecuto los contenedores con el mismo comando en mi computadora Mac y la respuesta de obtención no es lenta!

Aquí está una de las estadísticas de los contenedores:

 CPU %: 0.28% MEM USAGE / LIMIT: 27.49 MiB / 992.5 MiB MEM %: 2.77% NET I/O: 53.7 kB / 30.5 kB BLOCK I/O: 2.24 MB / 0 B

Entiendo que puede ser muy difícil saber el problema. Mi pregunta son los pasos para depurar la causa y finalmente encontrar la solución. Agradezco si pudiera explicar su enfoque en detalle.

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Esto suena como un problema de resolución de nombres. Para depurar esto, puedes hacer cosas diferentes.

  • Primero puede iniciar un servidor tcp simple con nc -l -p 8000 dentro del contenedor docker (que se inicia -p 8000:8000 ), y luego en el lanzamiento del host: nc 127.0.0.1 8000 , escriba algún carácter, vea si el La comunicación TCP funciona, deberían aparecer dentro del contenedor.

  • A continuación, puede hacer lo mismo que antes pero usando "localhost" en lugar de 127.0.0.1

  • Después de esto, puede hacer la misma solicitud HTTP que hizo, pero usando 127.0.0.1 en lugar de localhost (esto establecerá el encabezado Host: de la solicitud en el mismo valor, que el servidor web podría no verificar o podría resolver más fácilmente).

También puede echar un vistazo a /etc/hosts y /etc/resolv.conf dentro del contenedor. Tal vez no tengan sentido en el contexto de red de su contenedor.

Además, puede medir con precisión el tiempo necesario para sus solicitudes, si están cerca de un segundo preciso, esto suena una vez más como un tiempo de espera de DNS (si es 5.003, 10.200, 20.030 segundos, es como un tiempo de espera de X segundos, más el tiempo real necesario para responder).

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda