У меня есть два клона одного и того же 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, не зная, почему. Понятия не имею, что происходит, кто-нибудь может объяснить это поведение? Спасибо заранее. Пожалуйста, не стесняйтесь спрашивать больше информации, если это необходимо.