в БД.
Почему этот скрипт на моем ноуте в докере работает медленно, что может идти день
А этот же скрипт в докере на серваке где рядом крутится эта БД идет около 10 минут?
Если что скрипт на серваке запускает девопс и я не могу ему задавать такие тупые вопросы сейчас
Я предполагаю что это связано с тем, что я не шарю в докере, а коллега при запуске прописывает количество ядер потоков которые можно задействовать, верно?
Давайте погадаем, почему медленно работает скрипт с неизвестным содержимым в неизвестном окружении, запущенный с неизвестными параметрами
получается мне как минимум надо указать параметр количества ядер и потоков?
С чего вообще такой вывод?
это ограничение, а не задание
в таком случае дело в сети?
а где бд, тоже у тебя в контейнере, или на сервере?
ну да, как минимум там вообще пинга нет, а если у тебя до сервера условно 50мс, а там 0~, то разница сам понимаешь во сколько раз. Тем более у тебя суть скрипта в общении с сервером бд, а подобные операции особенно затратные по времени. Можешь попробовать как то распараллелить выполнение скрипта, действия то однотипные, должно помочь
Логи у девопса попроси, У тебя приложения потом как то обрабывает инфу и что с ней делает ?, Можно попробовать разбить приложение на несколько маленьких приложений и каждое в докере запустить которое между собой через локалхост общаться
берет строку, меняет ее, если подошла по условия и записывает в это же поле
хорошо а теперь просто теоретический вопрос вот крутится у меня бд на ноуте нативно а скрипт в докере а что если и бд крутить в докере разница какая будет? если и бд будет в докере, то должно быть медленнее потому ту же в бд еще и в докере надо крутить или результат будет неожиданным?
Не запускай бд в докере это как совет, из элементарного после перезапуска докера вся бд слетит
контейнер ничего не стоит по цп, немного отжирает оперативки разве что. Да, поможет, потому что сервисы в контейнерах будут фактически локально расположены
🤡 просто вынеси в волюм данные бд как указано в гайде к образу с бд и все, никакие данные не пропадут
docker run --cpus=2 my-script А так сделать ?
ну, у тебя условно 4-8 потоков, ты заставляешь контейнер использовать только 2
Конечно вы можете если Шарите то да я не спорю, ну лично я бы некому не советовал бд запускать в докере. Просто пример команды привел конечно если ресурсы позволяют можно и больше потоков.
прочитай что делает параметр -cpus в документации докера. Контейнеры и созданв для запуска все возможных серверов, вроде бд, чтобы можно было быстро разворачивать. Попробуй сам установить на свой пк постгрес, а потом попробуй в докере, с готовым compose файликом. А потом попробуй полностью (со всеми зависимостями) переустановить и перезапустить, сохранив данные
А как переносить на новый сервер будешь БД? Допустим бд клиентов банка, ну они же подождут пока админ вася настраивает сервер, правильно?
Я не говорил не используйте виртуальные машины шаблоны или шардирование лол, если вы знаете как запустить бд без потери данных и с нормальным мониторингом флаг вам в руки
Обсуждают сегодня