контейнер докеров не распределяет нагрузку равномерно между назначенными процессорами
У меня есть contanerized микросервис (то есть запущенный контейнер докеров), для которого я назначил 8 ядер процессора в качестве ресурсов на рабочем столе докера (см. Прикрепленное изображение). Но я подозреваю, что все процессоры (0,1,2...7) не распределяют нагрузку равномерно, и, следовательно, время отклика моего протестированного микросервиса не уменьшается, как ожидалось. Я также пытался выделить процессор с помощью команды
docker run --cpuset-cpus="0-7" -p 8081:8080 myimage-docker
. Для каждого процессора в наборе я хочу увидеть его статистику использования с точки зрения использования процессора в%. Есть ли команда докера, которая позволяет мне видеть использование всех 8 процессоров одновременно во время запуска контейнера докера. Что-то вроде..
cpu0 - 12.5%
cpu1 - 12.5%
cpu2 - 12.5%
cpu3 - 12.5%
cpu4 - 12.5%
cpu5 - 12.5%
cpu6 - 12.5%
cpu7 - 12.5%
1 ответ
Вот как можно измерить, насколько равномерно нагрузка распределяется между процессорами.
Используйте эту команду, чтобы получить оболочку внутри виртуальной машины Moby:
docker run -it --rm --privileged --pid=host justincormack/nsenter1
Затем запустите эту команду:
mpstat -P ALL 1 100
Это будет измерять использование каждого процессора каждую секунду в течение 100 секунд. После этого будут отображаться средние значения для каждого ядра.