Sanes, ооо, а это на самом деле очень ценная мысль! Сегодня всю ночь читал про Pros.Cons докера для лива. И правда ведь вируталка потребляет ощутимое количество ресурсов, если на него еще докер посадить... то как то не вкусно получается
есть мульти пользовательский сингл пейдж апликейшн с постоянным обменом данных между сервером и пользователями, и конечно же есть потребность в том что бы у клиентов запросы работали, как можно шустрее. Вроде бы и не хайлоад, но и не интернет магазин.
В связи с этим хочется понять, в описанном стеке на одном хосте, какова будет разница в скорости под нагрузкой.
Мне не хватает глубокого понимания взаимодействия конейнеров в докере, что бы самому это прикинуть.
Поэтому хотелось бы узнать у профи, приблизительно, какой процент берет на себе докер при взаимодействии контейнеров. если сравнивать с сервисами на чистым железом.
С одной стороны есть ощущение, что это должен быть мизер на уровне 2-5%
а другой стороны есть опасение что это разница будет 15-20%
так вот если бы это было 2-5% то конечно выбора за докером.
но если цифры 10-20% то субъективно это дорого, и есть смысл по играться с железом, дописать скрипт развертывания на чистом железе.
mayton2019, возможно вы и правы, и мне на самом деле не нужен докер для текущей стадии проекта.
Последовательность мыслей была такова.
1. При разработке на локалках, докер - это спасение для быстрого развертывания рабочего приложения. Очень удобно и быстро, при этом вопросы производительности и подводных камней абсолютно не интересны.
2. Возникает ситуация, когда нужно переехать на другой сервер или взять приложение за основу другого проекта, возникает мысль, а как сделать так что бы заново на продакшине не настраивать весь стек.
3. Условие: продакш, должен работать как можно быстрее и надежно. :D
показалось, что может быть докером, это можно было решать задачу с развертыванием на продакшине.
А может быть для этой задачи лучше подойдет Ansible или что еще?
вот тут и возникает сомнение, есть мульти пользовательский сингл пейдж апликейшн с постоянным обменом данных между сервером и пользователями, и конечно же есть потребность в том что бы у клиентов запросы работали, как можно шустрее. Вроде бы и не хайлоад, но и не интернет магазин.
В связи с этим хочется понять, в описанном стеке на одном хосте, какова будет разница в скорости под нагрузкой.
Мне не хватает глубокого понимания взаимодействия конейнеров в докере, что бы самому это прикинуть.
Поэтому хотелось бы узнать у профи, приблизительно, какой процент берет на себе докер при взаимодействии контейнеров. если сравнивать с сервисами на чистым железом.
С одной стороны есть ощущение, что это должен быть мизер на уровне 2-5%
а другой стороны есть опасение что это разница будет 15-20%
так вот если бы это было 2-5% то конечно выбора за докером.
но если цифры 10-20% то субъективно это дорого, и есть смысл по играться с железом, дописать скрипт развертывания на чистом железе.
Спасибо за ответ. Да я понимаю, что накладные расходы будут обязательны. Было бы хорошо, примерно понимать о каких цифрах идет речь при работе веб портала.
Докер сильно привлекает скоростью развертывания на новом месте. Настройки сервисов и их зависимые части в одном месте а не разбросаны по операционной системе, легко контролировать.
На локалке в докере обыграны только основные контейнеры и все довольны. А вот за продакшн страшновато.
Я сейчас столкнулся с тем что после переезда, нужно заново настроить на новой машине ВСЕ. начиная от прав и пользователей и ssh nginx php myslq node npm supervisior turn/stun postfix cron backup, ну прям ужас вызывает... понятно что все по отдельности это легко и понятно... и истории команд все есть... но сделать это снова......... годы уже не те :)
Спасибо большое за ответ!
И за статью отдельное спасибо! Меня прям восхищают такие работы...
Согласен на счет ценности времени разработчика! Это была одна из причин, по которым вопрос появился.
Можете пожалуйста поделится вашим понимаем, какова примерная потеря при обращении на одном хосте разных контейнеров, например php контейнера к mysql контейнеру.
Скажем скрипт выполнит около сотни запросов к базе. Можно ли сказать что разница в суммарной скорости будет +- одинаковой (если сравнивать с докером и без него). или же потери будут ощутимыми.
"и результат 1.8ms - из которых 1ms - это freeing items и cleaning up.
Почему это может происходить, и как можно это ускорить?"
вопрос к времени потраченному на выборку одной строки.
Хотя из общих ответов я понял, что походу это нормальное время... и можно играться только с объединением запросов...
да спасибо, дело в том что у меня местами рекурсивно надо разбирать... можно конечно на этапы разбить, и подгадать что все что можно объединить в where in. просто немного удивился что именно столько времени уходит.
Почему то полагал что запрос на чтение одной строки по pk 0.1-0.01ms при таблице в 10тыс строк...