172 похожих чатов

Я запускаю один простейший скрипт, который пробегается по каждой записи

в БД.
Почему этот скрипт на моем ноуте в докере работает медленно, что может идти день
А этот же скрипт в докере на серваке где рядом крутится эта БД идет около 10 минут?

Если что скрипт на серваке запускает девопс и я не могу ему задавать такие тупые вопросы сейчас
Я предполагаю что это связано с тем, что я не шарю в докере, а коллега при запуске прописывает количество ядер потоков которые можно задействовать, верно?

22 ответов

43 просмотра

Давайте погадаем, почему медленно работает скрипт с неизвестным содержимым в неизвестном окружении, запущенный с неизвестными параметрами

Air- Автор вопроса
Максим Мартынов
Давайте погадаем, почему медленно работает скрипт ...

получается мне как минимум надо указать параметр количества ядер и потоков?

Air- Автор вопроса
Air
в таком случае дело в сети?

а где бд, тоже у тебя в контейнере, или на сервере?

Air
на сервере

ну да, как минимум там вообще пинга нет, а если у тебя до сервера условно 50мс, а там 0~, то разница сам понимаешь во сколько раз. Тем более у тебя суть скрипта в общении с сервером бд, а подобные операции особенно затратные по времени. Можешь попробовать как то распараллелить выполнение скрипта, действия то однотипные, должно помочь

Логи у девопса попроси, У тебя приложения потом как то обрабывает инфу и что с ней делает ?, Можно попробовать разбить приложение на несколько маленьких приложений и каждое в докере запустить которое между собой через локалхост общаться

Air- Автор вопроса
Danil Plaxin
Логи у девопса попроси, У тебя приложения потом к...

берет строку, меняет ее, если подошла по условия и записывает в это же поле

Air- Автор вопроса
Aniki Hi$ok@ 🌈 Z 🐀
ну да, как минимум там вообще пинга нет, а если у ...

хорошо а теперь просто теоретический вопрос вот крутится у меня бд на ноуте нативно а скрипт в докере а что если и бд крутить в докере разница какая будет? если и бд будет в докере, то должно быть медленнее потому ту же в бд еще и в докере надо крутить или результат будет неожиданным?

Air
хорошо а теперь просто теоретический вопрос вот кр...

Не запускай бд в докере это как совет, из элементарного после перезапуска докера вся бд слетит

Air
хорошо а теперь просто теоретический вопрос вот кр...

контейнер ничего не стоит по цп, немного отжирает оперативки разве что. Да, поможет, потому что сервисы в контейнерах будут фактически локально расположены

Danil Plaxin
Не запускай бд в докере это как совет, из элемента...

🤡 просто вынеси в волюм данные бд как указано в гайде к образу с бд и все, никакие данные не пропадут

Danil Plaxin
docker run --cpus=2 my-script А так сделать ?

ну, у тебя условно 4-8 потоков, ты заставляешь контейнер использовать только 2

Конечно вы можете если Шарите то да я не спорю, ну лично я бы некому не советовал бд запускать в докере. Просто пример команды привел конечно если ресурсы позволяют можно и больше потоков.

Danil Plaxin
Конечно вы можете если Шарите то да я не спорю, ну...

прочитай что делает параметр -cpus в документации докера. Контейнеры и созданв для запуска все возможных серверов, вроде бд, чтобы можно было быстро разворачивать. Попробуй сам установить на свой пк постгрес, а потом попробуй в докере, с готовым compose файликом. А потом попробуй полностью (со всеми зависимостями) переустановить и перезапустить, сохранив данные

Danil Plaxin
Конечно вы можете если Шарите то да я не спорю, ну...

А как переносить на новый сервер будешь БД? Допустим бд клиентов банка, ну они же подождут пока админ вася настраивает сервер, правильно?

Shattle Battle
А как переносить на новый сервер будешь БД? Допуст...

Я не говорил не используйте виртуальные машины шаблоны или шардирование лол, если вы знаете как запустить бд без потери данных и с нормальным мониторингом флаг вам в руки

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта