Контейнеры Docker занимают слишком много времени для обработки задач - PullRequest
0 голосов
/ 04 декабря 2018

Я использую 3 контейнера в качестве микросервисов и RabbitMQ для связи ч / б с ними.Я использую лазурные виртуальные машины для запуска контейнера.Машина имеет 64 ГБ оперативной памяти и 32 ядра .Архитектура приведена ниже enter image description here

Контейнер C1: веб-сервер python только для получения запроса и операции с малой базой данных Контейнер C2: обработка, но не интенсивная Контейнер C3: обработка задач с высокой интенсивностью

Когда я пытаюсь обработать один веб-запрос, это занимает около 20 минут, включая весь контейнер (C3 занимает около 90% от этого).Затем я провел тестирование на машине с высокими ядрами (например, 64 ядра, 128 ГБ ОЗУ и 72 ядра и 144 ГБ ОЗУ ). Я был потрясен, увидев, что время также увеличивается, но я думаю, что оно должно быть меньше, потому что естьЯдра большого процессора.

Используя htop, я вижу, что контейнер C3 использует все ядра на 100%.Когда я пытался с несколькими веб-запросами (= 10), время, необходимое для завершения обработки одного запроса, составляет около 40-50 минут, потому что они все обрабатываются параллельно в C2 и C3.Я не вижу использования большого количества ядер процессора в док-контейнерах.Есть ли что-то не так с архитектурой или я должен запускать новые контейнеры для любого веб-запроса (C2 и C3).

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