Tweak.su

Типичный сайт типичного программиста

Follow me on GitHub

Оптимизируем Docker Toolbox

04 Oct 2015

Как оказалось, по умолчанию Docker Toolbox создает Docker VM с урезанными настройками. В частности виртуалке доступно только 1 (!) ядро процессора. И это в эпоху много поточных приложений, когда даже дешевый смартфон имеет 4 ядра.

Доступно 1 ядро

Для эксперимента решил сравнить как скажется увеличение доступных ядер на производительность Docker VM. Для этого воспользовался контейнером с редисом где запустил стандартный бенчмарк. В итоге получил 2-х кратный прирост производительности. По всей видимости по умолчанию Docker VM использует только одно ядро и редис с бенчмарком начинают конкурировать за ресурсы процессора. Увеличение доступных ядер позволяет приложениям в контейнере выполняться параллельно. Вот что у меня получилось:

Почти 2-х кратный прирост производительности

“Нормализованные” результаты:

Почти 2-х кратный прирост производительности

P.S. Файлы результатов тестов:

  1. 1 ядро
  2. 4 ядра
  3. Windows 10