Время ожидания AWS ECS в RDS - PullRequest
       76

Время ожидания AWS ECS в RDS

1 голос
/ 09 ноября 2019

У меня есть два клона одного и того же API: один размещен в Digital Ocean, а другой - в AWS ECS. Они основаны на Nginx + PHP-FPM на докере. В API на DO нет балансировщика нагрузки, а на AWS - ALB. Эти два API делают запросы к одной и той же БД в AWS RDS. Теперь: я попробовал Apache Benchmark для загрузки API на AWS:

ab -n 5000 -c 500 "https://myurl.com"

Если я попытаюсь сделать дополнительные запросы (через графический интерфейс приложения) во время тестирования, все, что я получу, это тайм-ауты:«забавная» часть в том, что если я использую API на DO, я получаю ответы очень быстро. Итак, моей первой попыткой было выделить больше ресурсов для задач веб-обслуживания AWS ECS. Ни в коем случае, даже с 20 задачами с 2048 процессорами и большим количеством оперативной памяти, я получил тот же результат. В этот момент я заметил, что процессор RDS работает на 99%, поэтому это может быть проблемой, НО я не могу объяснить, почему DO работает нормально, поэтому я не хочу просто увеличивать RDS, не зная, почему. Понятия не имею, что происходит, кто-нибудь может объяснить это поведение? Спасибо заранее. Пожалуйста, не стесняйтесь спрашивать больше информации, если это необходимо.

1 Ответ

0 голосов
/ 09 ноября 2019

Попробуйте отключить кэш запросов в RDS, когда вы тестируете, если вы используете mysql engine SET GLOBAL query_cache_size = 0; или вы можете отредактировать группу параметров экземпляра RDS, чтобы сделать изменение более постоянным(Не делайте этого для производственных систем).

Кроме того, RDS обеспечивает 7 дней бесплатного хранения для оценки производительности , что может позволить вам немного улучшить диагностику производительности. Конечно, вы можете включить медленное ведение журнала запросов , чтобы выяснить, занимает ли конкретный запрос много времени.

Надеюсь, это поможет, удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...