Docker вместо нескольких виртуальных машин

Итак, у нас есть около 8 виртуальных машин, работающих на 32 ГБ ОЗУ и 8 физических ядрах. На шести из них работает почтовый сервер (Zimbra), на двух — несколько веб-приложений. Нагрузка на серверы очень высока в первую очередь из-за большой нагрузки на каждую виртуальную машину.

Недавно мы столкнулись с Docker. Кажется, это крутая идея — создавать контейнеры приложений. Считаете ли вы жизнеспособной идею запускать приложения каждой из этих виртуальных машин внутри 8 контейнеров Docker. В настоящее время сервер интенсивно используется, так как несколько виртуальных машин имеют серьезные проблемы с вводом-выводом.

Или можно ли использовать докер в тех случаях, когда мы запускаем только веб-приложения, а не электронную почту или любые другие инфра-приложения. Посоветуйте...


person ramdaz    schedule 18.04.2014    source источник


Ответы (2)


Docker, безусловно, снизит нагрузку на ЦП вашего сервера, сняв накладные расходы с гипервизора в этом аспекте.

Что касается ввода-вывода, мои тесты показали, что у Docker есть собственные накладные расходы на ввод-вывод из-за того, как работает AUFS (или в последнее время средство сопоставления устройств). В этом отношении вы по-прежнему получите некоторые преимущества по сравнению с накладными расходами ввода-вывода гипервизора, но не производительностью «голого железа» при вводе-выводе. Мои наблюдения для моих собственных нужд показали, что Docker не был «по производительности на голом железе» при работе с интенсивными службами ввода-вывода.

person gextra    schedule 18.04.2014
comment
Примечание. Вы можете использовать тома (см. docs.docker.io/use/working_with_volumes), чтобы получить нативную производительность с Docker. - person jpetazzo; 19.04.2014
comment
gextra и @jpetazzo, вау, спасибо, я не знал, что докер может заменить гипервизоры, хотя и не полностью. - person beginer; 02.08.2014

Вы не думали о том, чтобы добавить больше оперативной памяти. 64 ГБ или больше? Для большого развертывания Zimbra 4 ГБ на ВМ может быть недостаточно. Zimbra, как и все системы обмена сообщениями и совместной работы, является приложением, связанным с вводом-выводом.

Наличие данных zmdiaglog (/opt/zimbra/libexec/zmdiaglog), чтобы увидеть, правильно ли вы выделяете память, может помочь. как здесь; http://wiki.zimbra.com/wiki/Performance_Tuning_Guidelines_for_Large_Deployments#Memory_Allocation

person khondhu    schedule 09.05.2014