ivinnic
@ivinnic
Full-Stack - подустал

Docker vs Bare Metal — сравнение производительности?

Добрый день.

Есть такой набор сервисов, которые между собой общаются.

Nginx
PHP-FPM
Mysql
Laravel-echo-server (node) - websocket
Redis

Для разработки давно используется docker-compose.
Но вот есть сомнения, в том что бы использовать докер в продакшене, который Bare Metal (core 12 ram 64 ssd 512gb). Желание использовать докер в продакшене, возникло во время переезда на другую машину.

Есть ощущение, что общение между контейнерами и внешним миром, будет медленнее, чем на чистом железе.
В гугле читаю противоречивые комментарии.
Например как повлияет общение php к mysql при запросах, будет ли разница...
при обращении nginx к рhp сокету... обращение php к redis...

Может быть, кто то имел опыт, подскажите пожалуйста, как с производительностью и какие есть подводные камни?
  • Вопрос задан
  • 722 просмотра
Пригласить эксперта
Ответы на вопрос 5
iMedved2009
@iMedved2009
Не люблю людей
Конечно будет тратится какое то количество ресурсов на контейнеризацию. Но в 99% из 100% удобство разработки это перекроет - машинное время стоит копейки, время разработчика наоборот дорого.

IBM Research Report. An Updated Performance Compar...
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
При разработке docker не ставились задачи - догнать bare-metal. Главная задача - виртуализация и оркестрация.
Если у вас нет таких задач то возможно и docker вам просто не нужен. Ставьте софт на железо и
не будет таких вопросов.
Ответ написан
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Везде, кроме высоконагруженных баз данных (ну и вообще хайлоада) падением производительности в докере почти всегда можно пренебречь.
Ответ написан
@deliro
Если осознать, что докер — это НЕ ВИРТУАЛИЗАЦИЯ, как многие умники тут пишут, то всё звучит не так страшно. Докер контейнер исполняется на той же хостовой машине, задача докера — изоляция фс и сетевого стека. Производительность контейнеров nearly identical to native (это ровно то, чем поделился Дмитрий) за исключением сетевого стека, если не выбираешь полностью хостовый network.

Однако, если твоё приложение на одной тачке не пытается обслужить десятки или сотни тысяч запросов в секунду, то абсолютно без разницы, в докере оно или нет.
Ответ написан
Sanes
@Sanes
Nginx
PHP-FPM
Mysql
Laravel-echo-server (node) - websocket
Redis

Не нужен здесь Docker.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы