Я не могу понять, в чем причина узкого места на этом сайте, очень плохое время отклика после того, как достигло около 400 пользователей. Сайт находится на вычислительной машине Google с использованием группы экземпляров с балансировкой сетевой нагрузки. Мы создали проект с помощью sailjs.
Я проводил нагрузочное тестирование с контейнерным движком Google, используя kubernetes, используя скрипт locust.py.
Основные результаты одного из тестов:
RPS : 30
Spawn rate: 5 p/s
TOTALS USERS: 1000
AVG(res time): 27500!! (27,5 seconds)
Первоначально время отклика велико, менее одной секунды, но когда оно достигает примерно 400 пользователей, время отклика начинает резко возрастать.
Я проверил очевидные факторы, которые могут повлиять на время отклика, результаты приведены ниже:
Экземпляры вычислительного ядра (2 стандартных n2, диск 200 ГБ, оперативная память: 7,5 ГБ на экземпляр):
Only about 20% cpu utilization used
Outgoing network bytes: 340k bytes/sec
Incoming network bytes: 190k bytes/sec
Disk operations: 1 op/sec
Memory: below 10%
MySQL:
Max_used_connections : 41 (below total possible)
Connection errors: 0
Все остальные результаты для MySQL также кажутся хорошими, нет причин создавать узкое место.
Я попробовал тот же тест для нового проекта, созданного SailJS, и он показал себя лучше, но все равно имел ужасные результаты, время разрешения 5 секунд для примерно 2000 пользователей.
Что еще я должен протестировать? Что может быть узким местом?