Size: a a a

pgsql – PostgreSQL

2021 February 19

KK

Konstantin K in pgsql – PostgreSQL
я так и делаю же
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Konstantin K
я так и делаю же
команды приведите уже, чего мы тут гадаем?
источник

DF

Dmitry Fomin in pgsql – PostgreSQL
Alexey Lesovsky
результаты могут быть очень разными из-за разных условий в запросе. если вам не хватает данных из explain/pg_stat_statements, посмотрите на log_executor_stats, там замеры на основе getrusage, что чуть "ближе" к системе. но имхо все равно закладываться на эти результаты и чтото планировать на их основе не очень надежно.
как разделить чтения из кеша OS  и с диска это отдельный вопросю сейчас кокретно про shared hit.  вот из explain analyze или pgss я вижу что для выполнения запроса было 100 хитов, а сколько за этими хитами реальных разных блоков - может быть 1 который 100 раз прочитали, или 100  когда например сек скан таблицы
источник

KK

Konstantin K in pgsql – PostgreSQL
pg_dumpall -Upostgres --host localhost --port 5432 --no-password -v -r --file localhost.roles.sql
pg_dump -Upostgres --host localhost --port 5432 --no-password --dbname db -Ft -v --file localhost.tar
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Dmitry Fomin
как разделить чтения из кеша OS  и с диска это отдельный вопросю сейчас кокретно про shared hit.  вот из explain analyze или pgss я вижу что для выполнения запроса было 100 хитов, а сколько за этими хитами реальных разных блоков - может быть 1 который 100 раз прочитали, или 100  когда например сек скан таблицы
думается мне в постгресе нет инфы чтоб ответить на этот вопрос
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Konstantin K
pg_dumpall -Upostgres --host localhost --port 5432 --no-password -v -r --file localhost.roles.sql
pg_dump -Upostgres --host localhost --port 5432 --no-password --dbname db -Ft -v --file localhost.tar
и полное сообщение об ошибке (с деталями и хинтом) приведите, пожалуйста
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Dmitry Fomin
как разделить чтения из кеша OS  и с диска это отдельный вопросю сейчас кокретно про shared hit.  вот из explain analyze или pgss я вижу что для выполнения запроса было 100 хитов, а сколько за этими хитами реальных разных блоков - может быть 1 который 100 раз прочитали, или 100  когда например сек скан таблицы
Бесполезным Вы делом занимаетесь, IMNSHO.
Т.е. это будет "работать", только если "production" там примерно такой же сложности, как "hello, world!". ;)
источник

DF

Dmitry Fomin in pgsql – PostgreSQL
Yaroslav Schekin
Бесполезным Вы делом занимаетесь, IMNSHO.
Т.е. это будет "работать", только если "production" там примерно такой же сложности, как "hello, world!". ;)
есть какие-то аргументы?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Dmitry Fomin
есть какие-то аргументы?
Хмм... разве я уже их не приводил?
Минуту... вот это, например: https://t.me/pgsql/285040 (прочитайте "наоборот") — не аргументы?
источник

KK

Konstantin K in pgsql – PostgreSQL
Victor Yegorov
и полное сообщение об ошибке (с деталями и хинтом) приведите, пожалуйста
источник

KK

Konstantin K in pgsql – PostgreSQL
дальше текст процедуры, хинта нет
источник

DF

Dmitry Fomin in pgsql – PostgreSQL
еще раз мне не нужно получить точное время на проде - мне нужно получить худшее возможно время на проде, если принять что тестовые и прод сервера  совпадают полностью, насыщения по CPU RAM IO нет
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
если вам нужно именно худшее, то считайте каждый хит как поход на диск
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Konstantin K
дальше текст процедуры, хинта нет
каким пользователем работаете? сравните \du username на старой и новой базах?
сравните вывод \dn+ public на старой и новой базах
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Dmitry Fomin
еще раз мне не нужно получить точное время на проде - мне нужно получить худшее возможно время на проде, если принять что тестовые и прод сервера  совпадают полностью, насыщения по CPU RAM IO нет
Худшее время на проде — вечность. Потому что кто-то заблокировал таблицу (например, ALTER TABLE), сюрприз!
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Alexey Lesovsky
если вам нужно именно худшее, то считайте каждый хит как поход на диск
Это далеко не худшее. Другие запросы в настоящем production могут "украсть" у данного [почти] весь "диск", CPU и RAM.
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Dmitry Fomin
еще раз мне не нужно получить точное время на проде - мне нужно получить худшее возможно время на проде, если принять что тестовые и прод сервера  совпадают полностью, насыщения по CPU RAM IO нет
а зачем? какую бизнес-задачу решаете?
источник

DF

Dmitry Fomin in pgsql – PostgreSQL
Yaroslav Schekin
Худшее время на проде — вечность. Потому что кто-то заблокировал таблицу (например, ALTER TABLE), сюрприз!
простой пример мы хотим протестировать какую-то большую операцию на тестовом сервере и понять займет она 1 минуту на проде или час. понятно что если будут блокировки на проде то время резко увеличится, а если операция выполняется в мейтенанс окно и никакие другие блокирующие операции не проходят
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Yaroslav Schekin
Это далеко не худшее. Другие запросы в настоящем production могут "украсть" у данного [почти] весь "диск", CPU и RAM.
Ярослав, можете не приводить аргементы против ))) я согласен с вами в части что Дмитрий занимается бесполезным делом ))
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Dmitry Fomin
простой пример мы хотим протестировать какую-то большую операцию на тестовом сервере и понять займет она 1 минуту на проде или час. понятно что если будут блокировки на проде то время резко увеличится, а если операция выполняется в мейтенанс окно и никакие другие блокирующие операции не проходят
окружение же должно быть как минимум идентичное... оборудование, настройки и вот это всё (в реальности такое можно достичь но сложно) - то есть в вашем случае предполагается что тестовая и боевая среды одинаковые?
источник