Size: a a a

pgsql – PostgreSQL

2021 March 18

VY

Victor Yegorov in pgsql – PostgreSQL
Yaroslav Schekin
А я бы отключал. Начинал бы с этого, более того.
увы, там где проблемы с вакуумом, там и с железом проблемы. на моём опыте.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Yaroslav Schekin
А я бы отключал. Начинал бы с этого, более того.
а можете развернуто аргументировать свою позицию?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Victor Yegorov
увы, там где проблемы с вакуумом, там и с железом проблемы. на моём опыте.
Нет, если там существенные проблемы с I/O, но есть maintenance windows, то возможны варианты, да.
источник

s

sexst in pgsql – PostgreSQL
Yaroslav Schekin
А можете пояснить для незнакомых с MySQL — там это как-то "перебивается" на уровне отдельных сессий?
И насколько надёжно Вам нужно в PostgreSQL?
Оно "Closes all open tables. New tables are only allowed to be opened with read locks until an UNLOCK TABLES is given"
источник

s

sexst in pgsql – PostgreSQL
Ну то есть сливает таблицу на диск и берёт обычный read lock, как это и выглядит.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Alexey Lesovsky
а можете развернуто аргументировать свою позицию?
Пока вкратце:
"The problem is that if you slow down autovacuum to reduce I/O,  you can get into a death spiral where less vacuuming means more bloat, which means more I/O, which means less vacuuming." (RhodiumToad)
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Yaroslav Schekin
Пока вкратце:
"The problem is that if you slow down autovacuum to reduce I/O,  you can get into a death spiral where less vacuuming means more bloat, which means more I/O, which means less vacuuming." (RhodiumToad)
я предпочитаю в таких ситуациях:
- настраивать вакуум как следует
- руками вакуумить основные проблемные таблицы
источник

s

sexst in pgsql – PostgreSQL
Yaroslav Schekin
Пока вкратце:
"The problem is that if you slow down autovacuum to reduce I/O,  you can get into a death spiral where less vacuuming means more bloat, which means more I/O, which means less vacuuming." (RhodiumToad)
Условный sleep(0) выглядит не очень в случае отсутсвия работы  как-то. Будет часто дёргаться, ничего не находить и снова уходить спать на ноль секунд. Там же нет специального хитрого режима для такой ситуации?
источник

s

sexst in pgsql – PostgreSQL
Я бы тогда чисто интуитивно ставил бы хотя бы 1 секунду. Но только потому что этот вопрос шедулинга при экстремальных значениях интервала вообше не изучал
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Victor Yegorov
я предпочитаю в таких ситуациях:
- настраивать вакуум как следует
- руками вакуумить основные проблемные таблицы
Так вот "как следует" с моей точки зрения — это отключить задержку. ;)
Т.е. "вытащите" Вы эту базу один раз — она опять "провалится", и т.п. Зачем кругами ходить?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
sexst
Условный sleep(0) выглядит не очень в случае отсутсвия работы  как-то. Будет часто дёргаться, ничего не находить и снова уходить спать на ноль секунд. Там же нет специального хитрого режима для такой ситуации?
по умолчанию стоит vacuum_cost_delay = 0. я не думаю, что там дёргают sleep при нулевой задержке
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Yaroslav Schekin
Так вот "как следует" с моей точки зрения — это отключить задержку. ;)
Т.е. "вытащите" Вы эту базу один раз — она опять "провалится", и т.п. Зачем кругами ходить?
вы исходите из того, что у вас есть окно. я из того, что я на живой базе должен её в чувство привести
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
sexst
Я бы тогда чисто интуитивно ставил бы хотя бы 1 секунду. Но только потому что этот вопрос шедулинга при экстремальных значениях интервала вообше не изучал
Т.е. Вы хотите намного увеличить задержку, по сравнению с default? ;)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Victor Yegorov
вы исходите из того, что у вас есть окно. я из того, что я на живой базе должен её в чувство привести
Нет, я как раз исхожу из того, что окон нет.
Если "живую" базу не начать интенсивно "приводить в чувство", она "свалится в штопор"... the end. ;(
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Yaroslav Schekin
Нет, я как раз исхожу из того, что окон нет.
Если "живую" базу не начать интенсивно "приводить в чувство", она "свалится в штопор"... the end. ;(
я считаю, что в чувствуо иначе надо приводить, без таких жёестких телодвижений. потом — да, можно.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Victor Yegorov
я считаю, что в чувствуо иначе надо приводить, без таких жёестких телодвижений. потом — да, можно.
Просто мне это не кажется таким уж жёстким (особенно, если иметь в виду альтернативу).
А что Вы делаете вместо этого, если подробнее?
источник

s

sexst in pgsql – PostgreSQL
Yaroslav Schekin
Т.е. Вы хотите намного увеличить задержку, по сравнению с default? ;)
Опять же я про конкретную обсуждаемую ситуацию с уже каким-то ненулевым значением. А то поставят гордо ноль и система ввода-вывода перегрузится до неюзабельности.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
sexst
Опять же я про конкретную обсуждаемую ситуацию с уже каким-то ненулевым значением. А то поставят гордо ноль и система ввода-вывода перегрузится до неюзабельности.
Поставлю, да. Потому что если не поставить, система ввода-вывода "перегрузится до неюзабельности" от кое-чего другого.
Проблема-то в том, что это всё происходит... не в вакууме. ;)
источник

s

sexst in pgsql – PostgreSQL
Если изначально стоит ноль, то у вас вряд ли может накопиться мусор на многие часы чистки вперёд. Если он копится в такой конфигурации, то у вас уже какие-то проблемы с железом.
источник

GT

Gonchik Tsymzhitov in pgsql – PostgreSQL
Привет!
подскажите, в таблице jiraissue, примерно 700к записей,
а fileattachment - 870к.

следующий запрос выполняется более получаса
select count(*) from fileattachment where issueid not in (select id from jiraissue);


подскажите, какой параметр отвечает на подзапросы. Хочется именно ускорить подзапросы
источник