Я устанавливаю приложение снегоочистителя в облаке GCP, где мы ожидаем получать от 80 до 100 миллионов запросов пользователей в день. Я завершил настройку, и приложение работает нормально, но во время нагрузочного тестирования с использованием loader.io мы заметили, что приложение не может обслуживать даже 5000 пользователей в секунду, а балансировщик нагрузки возвращает ошибку 502 (Backend_server_error). Я не могу понять, почему я получаю эту ошибку, даже если загрузка памяти и процессора не используется даже на 10%.
Конфигурации:
Пример: 4 экземпляра за автоматическим масштабированием (2 процессора, 8 ГБ ОЗУ) - автоматическое масштабирование не происходит, поскольку загрузка не достигает порогового значения
Балансировщик нагрузки используется: HTTPS Application load Balancer
Тип ОС: CentOs 7
2 CPU, 8 ГБ на 5000 юз / сек? У моего iPhone больше мощности. Начните с измерения нагрузки на память, ЦП, диск и сеть. Затем спроектируйте систему, которая сможет обрабатывать этот трафик. Вы указываете Never autoscaled as utilisation is low
, но получаете 502 ошибки.
Сколько соединений принимают экземпляр? Если у вас есть мягкое ограничение на это, и вы можете обрабатывать, скажем, только 100 подключений на виртуальную машину, процессор низкий, оперативная память низкая, и вы не масштабируете. однако вы ограничены, и ваш бэкэнд не может обслуживать трафик.
Не могли бы вы подсказать, как мне настроить экземпляр, чтобы обеспечить максимальное соединение?
если у вас 502, то не LoadBalancer не может обслуживать, а серверная часть. Если вы не можете перегружать ЦП, это означает, что ваше приложение не может масштабироваться по вертикали, и у вас есть узкое место где-то в приложении. Сомневаюсь, что кто-то без подробностей ответит на вашу проблему. У вас должны быть некоторые показатели отладки / трассировки / профилирования в вашем приложении, чтобы помочь вам найти проблему.