Выполнение множественного HTTP-запроса клиента в узле - PullRequest
0 голосов
/ 04 декабря 2018

Я пишу бэкэнд-приложение, используя nodejs, которое выполняет много http запросов к внешним службам и s3.
Я достиг примерно 800 запросов в секунду на одном модуле kubernetes.
Модуль ограничен одним vcpu, и его использование достигло 100%.

Я могу масштабировать его до десятков модулей для обработки тысяч запросов
, но кажется, что этопредел достигнут слишком рано.

Я проверил его в своем реальном бэкэнд-приложении, а затем на демонстрационном модуле, который ничего не делает, кроме отправки http запроса с использованием axios.

есть смысл, что один vcpu kubernetes pod может обрабатывать только 800 рэк / сек?(как клиент, а не как сервер).

1 Ответ

0 голосов
/ 04 декабря 2018

Довольно сложно предложить какой-либо совет для наилучшего подхода с выбором подходящей емкости для вычислительных ресурсов, доступных для ваших конкретных потребностей.Однако, когда вы используете 1x vCPU в запросах на ограничение Pod, это эквивалентно 1 единице ЦП для наиболее широко используемых ресурсов виртуальных машин провайдеров Cloud.

Таким образом, я бы поспорил здесь, чтобы добавить больше процессорных модулей в ваш Pod, чем вращать больше Pod с таким же числом vCPU с помощью планировщика Kubernetes, используя функцию HPA (Horizontal Pod Autoscaler).Поэтому, если у вас недостаточно места на вашем узле, очень легко подтолкнуть множество Pod для перегрузки;и действительно, это не окажет положительного влияния на вычислительный движок Node.

В вашем примере есть два ключевых параметра для анализа: задержка (время для отправки запросов и получения ответа) и пропускная способность (количество запросов в секунду) из HTTP запросов;здесь всегда действует правило: увеличение задержки уменьшит общую пропускную способность ваших запросов.

Вы также можете прочитать о Vertical Pod Autoscaler в качестве опции для управления вычислениями.ресурсы в кластере Kubernetes.

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