Масштабирование приложения требует понимания, почему приложение достигло своего предела.Для этого вам нужно собрать метрики из приложения и хоста, когда он полностью загружен.Без тестирования и сбора метрик вы только догадываетесь, почему у вас есть емкость.
Если приложение полностью использует одно или несколько ядер процессора, но не все из них, то оно либо не является многопоточным,или сталкивается с блокировками, препятствующими использованию всех ядер.Добавление большего количества контейнеров к хосту в этом сценарии может помочь масштабированию.
Как правило, горизонтальное масштабирование выполняется, потому что один хост использует все некоторые ресурсы, такие как диск io, пропускная способность сети, память или процессор.Если вы обнаружите, что приложение использует все один или несколько из этих ресурсов при большой нагрузке, вам нужно больше хостов, а не больше контейнеров, работающих на одном хосте.
Все это предполагает, что вы не настроилиДокер для ограничения ресурсов на контейнерах.Если вы достигли своей емкости с одним контейнером и настроили ограничения ресурсов, то самый простой способ повысить производительность - это удалить или уменьшить эти ограничения.