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

Может быть проблема связана с тем, что постгря в докере?

36 ответов

19 просмотров

СУБД называется постгрес. А постгря в докере - оно обязано доставлять боль и страдания тому, кто занимается подобным непотребством.

Setplus-Mac Автор вопроса
Михаил Шурутов
СУБД называется постгрес. А постгря в докере - оно...

Например, какие? Может постргес в докере показывать такие высокие IO?

Setplus Mac
Например, какие? Может постргес в докере показыват...

недостаточно информации для ответа на ваш вопрос. 10 инсёртов в пустую таблицу - это одно, 10 инсёртов вместе с триггерами - это другое, 10 инсёртов в таблицу в 100Гб - это третье. проверьте через pg_test_fsync скорость выполнения fsync в вашем контейнере. Ну и можете pg_bench запустить для последующего сравнения с другими вариантами установки СУБД

Сергей Голод
недостаточно информации для ответа на ваш вопрос. ...

А вставка в таблицу, которая активно используется другими процессами - это третье.

Михаил Шурутов
СУБД называется постгрес. А постгря в докере - оно...

> А постгря в докере - оно обязано доставлять боль и страдания тому, кто занимается подобным непотребством. Тут все зависит от потребностей. Я например без докера просто не могу. Мои типовые сценарии: - локально держу 6 версий постгреса с 9.5 по 13 для локальной разработки и тестов (они обычно у меня выключены, запускаю при необходимости) - если ктото заводит мне багу, я в докере быстро поднимаю нужное окружение чтобы воспроизвести багу - в докере запускаю тестовое окружение нужной версии постгреса, чтобы быстро проверить какую-то функциональность и потом удалить это окружение, не засоряя основную систему. Держать и обслуживать виртуалки для этого, или может держать это все в виде локальных служб это просто долго, дорого и нерационально, и вот это бы и было как вы и говорите непостребством, с болью и страданиями. И при разумном подходе, docker+postgres можно и в проде держать.

Alexey Lesovsky
> А постгря в докере - оно обязано доставлять боль...

Ключевое словосочетание: при разумном подходе.

Михаил Шурутов
Ключевое словосочетание: при разумном подходе.

При неразумном боль и унижение причиняет абсолютно всё.

Что такого нужно сделать, чтобы постгрес именно в докере доставлял боль?

Михаил Шурутов
Попробуйте обновить мажорную версию.

Хм, видимо я везучий, пока обновлял без проблем.

Михаил Шурутов
Попробуйте обновить мажорную версию.

В чём отличия от обновления без докера?

Sergey Bezrukov
В чём отличия от обновления без докера?

В отсутствии докера. Распишите, пожалуйста, пошагово процедуру обновления ПГ в докере в конфигурации мастер-реплика.

Михаил Шурутов
В отсутствии докера. Распишите, пожалуйста, пошаго...

Откуда взялась мастер-реплика? Докер - это для разработки большей частью.

Sergey Bezrukov
Откуда взялась мастер-реплика? Докер - это для ра...

Я не занимаюсь поддержкой разработки. Только и исключительно пром, который обслуживает внешних клиентов. Как показывает практика, то, что используется при разработке, так называемые "архитекторы" от словосочетания "идиоты безмозглые" пытаются протащить и в пром. Ну у меня же на ноутбуке, деве всё работает!

Михаил Шурутов
Я не занимаюсь поддержкой разработки. Только и иск...

без нагрузки и реальных объемов данных, ага, все работает ))

Михаил Шурутов
Я не занимаюсь поддержкой разработки. Только и иск...

Тогда понятно. В высоконагруженную систему лучше лишних уровней не запихивать, тут согласен, конечно.

Сергей Кравчук
без нагрузки и реальных объемов данных, ага, все р...

Вот именно! На прошлой работе один такой архитектор ваял скрипты для миграций. 50+ тыс записей вставлял отдельными INSERT-ами. У него на деве всё быстро проходило, меньше минуты.

Евгений Смирнов
На деве SSD, а на боевом - HDD, так?

Не так. 50 тыс записей и нагруженный проект и по записи, и по чтению.

Sergey Bezrukov
Тогда понятно. В высоконагруженную систему лучше л...

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

Setplus-Mac Автор вопроса
Сергей Голод
недостаточно информации для ответа на ваш вопрос. ...

И вот конфиг max_connections = 200 shared_buffers = 4GB effective_cache_size = 12GB maintenance_work_mem = 1GB checkpoint_completion_target = 0.7 wal_buffers = 16MB default_statistics_target = 100 random_page_cost = 4 effective_io_concurrency = 2 work_mem = 5242kB min_wal_size = 1GB max_wal_size = 4GB max_worker_processes = 8 max_parallel_workers_per_gather = 4 max_parallel_workers = 8 max_parallel_maintenance_workers = 4

Setplus-Mac Автор вопроса
Setplus Mac
И вот

это не совсем то что нужно, это конечно показывает что диски медленные, но не говорит о причинах почему они медленные... надо искать причины. начать следует с оценики работы системы через утилиты top, iostat и изучения окружения (конфигурация железа и настройки системы) где проявляются проблемы

Setplus Mac
И вот

Этого недостаточно. Напишите, какое там "железо", полностью — так проще будет.

Setplus Mac
Сейчас кину

вы не написали про диски, что там у вас ssd или hdd?

Setplus Mac
screenshot Выхлоп pg_test_fsync

да уж, не блещет докер производительностью.... А что используется в качестве хранилища для докера?

Setplus-Mac Автор вопроса
Setplus Mac
да дефолтный

если что, overlay2

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
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
Карта сайта