GCP Load Balancer / Backend не может обрабатывать 5000 одновременных запросов пользователей

Я устанавливаю приложение снегоочистителя в облаке GCP, где мы ожидаем получать от 80 до 100 миллионов запросов пользователей в день. Я завершил настройку, и приложение работает нормально, но во время нагрузочного тестирования с использованием loader.io мы заметили, что приложение не может обслуживать даже 5000 пользователей в секунду, а балансировщик нагрузки возвращает ошибку 502 (Backend_server_error). Я не могу понять, почему я получаю эту ошибку, даже если загрузка памяти и процессора не используется даже на 10%.

Конфигурации:

Пример: 4 экземпляра за автоматическим масштабированием (2 процессора, 8 ГБ ОЗУ) - автоматическое масштабирование не происходит, поскольку загрузка не достигает порогового значения

Балансировщик нагрузки используется: HTTPS Application load Balancer

Тип ОС: CentOs 7

если у вас 502, то не LoadBalancer не может обслуживать, а серверная часть. Если вы не можете перегружать ЦП, это означает, что ваше приложение не может масштабироваться по вертикали, и у вас есть узкое место где-то в приложении. Сомневаюсь, что кто-то без подробностей ответит на вашу проблему. У вас должны быть некоторые показатели отладки / трассировки / профилирования в вашем приложении, чтобы помочь вам найти проблему.

rkosegi 05.04.2021 19:23

2 CPU, 8 ГБ на 5000 юз / сек? У моего iPhone больше мощности. Начните с измерения нагрузки на память, ЦП, диск и сеть. Затем спроектируйте систему, которая сможет обрабатывать этот трафик. Вы указываете Never autoscaled as utilisation is low, но получаете 502 ошибки.

John Hanley 05.04.2021 19:29

Сколько соединений принимают экземпляр? Если у вас есть мягкое ограничение на это, и вы можете обрабатывать, скажем, только 100 подключений на виртуальную машину, процессор низкий, оперативная память низкая, и вы не масштабируете. однако вы ограничены, и ваш бэкэнд не может обслуживать трафик.

guillaume blaquiere 05.04.2021 23:18

Не могли бы вы подсказать, как мне настроить экземпляр, чтобы обеспечить максимальное соединение?

Abhishek Jain 06.04.2021 07:45
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
28
0

Другие вопросы по теме