Планирование емкости Docker Container

12

Я запускаю свое приложение на 4 виртуальных машинах с 8 виртуальными процессорами по 3,2 ГГц и 32 ГБ, однако я буду разбивать процессы на отдельные контейнеры.

Я не уверен, сколько контейнеров нужно запустить на хосте. Каковы типичные цифры? Например, как отношение виртуальной машины к серверу «голый металл» составляет 1:10 в целом, любые ссылки на атрибуты, которые нужно учитывать, структуры принятия решений, которые нужно учитывать, или опыт могут помочь!

shrao
источник

Ответы:

9

Как и при любой загрузке Linux, учитывайте не больше процессов в состоянии ожидания, чем количество процессоров. Нагрузка на 1, 5 и 15 минут в uptimeидеале должна быть на 1 меньше количества ядер.

Контейнеры являются грубо изолированными процессами, оставляя ядро ​​для оркестровки во избежание заторов.

Это означает не только 7 контейнеров на 8-ядерном компьютере, это вопрос одновременной нагрузки, поэтому лучший способ - это измерить его и соответственно адаптировать.

Tensibai
источник
1

Я лично развернул 100 контейнеров на машине с 32vcpu, и так как много док-контейнеров подключаются к случайным процессорам, такой взаимосвязи между количеством контейнеров и количеством vcpus нет. Поскольку контейнеры докеров можно рассматривать как процессы, кажется логичным то, что упомянул @Tensibai.

lakshayk
источник
Запустите цикл while без сна на всех ваших контейнерах, вы увидите то, что я описал выше, контейнеры - это процессы с виртуальной файловой системой, об этом нельзя думать, это именно так
Tensibai