powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Течет счетчик транзакций 9.5...
25 сообщений из 32, страница 1 из 2
Течет счетчик транзакций 9.5...
    #39424593
AndryDL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго всем времени суток. Кто нибудь сталкивался с проблемой течи счетчика транзакций в 9.5 ? Вставка интенсивная несколько десятков миллионов записей в сутки. Таблиц порядка 1500 (количество не постоянно , данные секционированы по датам и храняться 3 месяца т.е. 4-й от текущего удаляется ) БД большая опрядка 12Тб. Процессов автовакуума 4-е не прекращают работу никогда. Что самое замечательное счетчик течет и в служебных БД postgres, template0, template1 хотя туда вставки нет. Приходится раз в неделю запускать vacuum . Хотя суточные секции ежедневно ночью пакуются pg_repack (индексы перестраивает) плюс vacuum freeze.
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39424708
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDLДоброго всем времени суток. Кто нибудь сталкивался с проблемой течи счетчика транзакций в 9.5 ? Вставка интенсивная несколько десятков миллионов записей в сутки. Таблиц порядка 1500 (количество не постоянно , данные секционированы по датам и храняться 3 месяца т.е. 4-й от текущего удаляется ) БД большая опрядка 12Тб. Процессов автовакуума 4-е не прекращают работу никогда. Что самое замечательное счетчик течет и в служебных БД postgres, template0, template1 хотя туда вставки нет. Приходится раз в неделю запускать vacuum . Хотя суточные секции ежедневно ночью пакуются pg_repack (индексы перестраивает) плюс vacuum freeze.

Для начала скажите что вы под счетчиком транзакций понимаете :).
И что именно вас не устраивает?

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39424739
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDL,

у нас помню было за 10 воркеров на таком объёме.
и то упёрлись.
это судьба.


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

второй бубен -- отселить архив. чтобы его объём не прокручивать каждый раз. Но кажется это уже порешано использованием карты видимости под фризинг.
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39424866
AndryDL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk,
Под счетчиком я понимаю счетчик до wraparound.А не устраивает меня то что autovacuum бежит по фриженым таблицам, и то что счетчик тикает в неиспользуемых служебных БД, помимо рабочей.
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39424884
AndryDL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwq,
Вставка записей и так идет пачкой командой copy, проверки форейнкеи и прочии радости упразднены в угоду производительности записи. Но данные в секции перекладываются триггерами на родительских таблицах. Одно время вроде жило нормально,пока размер данных не перевалил за 10Тб.vacuum по БД идет приблизительно 36 часов и это напрягает его постоянно гонять. Может увеличить кол-во процессов autovacuum -а ?
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39424945
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDL,

Смотрели в сторону COPY ... FREEZE ?
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39424995
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDLqwwq,
Вставка записей и так идет пачкой командой copy, проверки форейнкеи и прочии радости упразднены в угоду производительности записи. Но данные в секции перекладываются триггерами на родительских таблицах.
посмотрите текст триггерных ф--ий. есть ли там "exception when" и нельзя ли его отодвинуть в сторонку, проверяя косвенно.

напримеру меня была раскидка по секциям с блоком исключения на каждом проходе==строке (динамическое партицирование). с небольшим риском я обошёл блок исключения проверкой наличия партиции в системных. и остался с блоком исключения, проходимым только при точном отсутствии следов секции в системных. т.е. вместо 500 приращений номера транзакции на батч репликации(транзакцию) остался ~1. иначе захлёбывались фризом.
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39425028
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDLqwwq,
Вставка записей и так идет пачкой командой copy, проверки форейнкеи и прочии радости упразднены в угоду производительности записи. Но данные в секции перекладываются триггерами на родительских таблицах. Одно время вроде жило нормально,пока размер данных не перевалил за 10Тб.vacuum по БД идет приблизительно 36 часов и это напрягает его постоянно гонять. Может увеличить кол-во процессов autovacuum -а ?

10Tb это уже много.
А какой у вас autovacuum_vacuum_cost_delay стоит? Зачастую его проще уменьшить сильно чем больше процессов делать которым память надо.
Диски то у вас SSD под такой обьем я надеюсь?


PS: а зачем вы вообще руками vacuum делаете??? Это закат солнца вручную и смысла в нем в 99% случаев - ноль.
Единственный случай когда это может быть полезно - сразу после создания новой таблицы и заливки туда БОЛЬШОЙ пачки данных полезно сделать vacuum freeze analyze на нее.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39425492
AndryDL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk,
Если бы не помогал закат солнца в ручную, то я его не делал бы. После вакуума в ручную
WITH tbl AS (
SELECT
age(relfrozenxid),
current_setting('autovacuum_freeze_max_age')::integer fma
FROM
pg_class
WHERE
relkind IN ('r', 't')
)
SELECT
extract(epoch from now())::integer ts,
(
SELECT
((1 - max(age)::double precision / current_setting('autovacuum_freeze_max_age')::integer) * 100)::numeric(9,6)
FROM
tbl
WHERE
age < fma
) prc_before_av,
(
SELECT
((1 - max(age)::double precision / -((1 << 31) + 1)) * 100)::numeric(9,6)
FROM
tbl
) prc_before_stop;

такой не хитрый запрос показывает что до остановки БД у меня в районе 90%, а через неделю работы 40% если, его не делать то через 2 недели БД встанет колом . И восстановить ее работоспособность можно будет только в single mode vacuum. А это на моем объеме больше суток. Так что лучше я его в фоне погоняю раз в неделю, чем умрет БД на сутки.
autovacuum_vacuum_cost_delay по дефолту т.е равен vacuum_cost_delay = 0 меньше некуда. Вообще все параметры автовакуума стоят по дефолту раньше хватало, единственное что поменял это воркер еще один добавил.
Повторюсь дневные секции ночью обрабатываются pg_repack после него делается vacuum freeze таблицы и все равно autovacuum по ним бежит. Зачем для меня загадка. Данные не меняются счетчик у них всегда в прошлом, зачем по ним еще раз бежать? И главное почему течет счетчик в служебных БД в них данные не пишутся.
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39425539
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDL воркер еще один добавил. добавьте сразу 4-5. и перестаньте руками копошиться.
AndryDLИ главное почему течет счетчик в служебных БД в них данные не пишутся.эпоха уж точно общая для всего инстанса (кластера). но она прыжком меняется.

а вот насчет самого счетчика -- кажется когда-то собирался проверить. даже кажется и проверял. но не помню, хошь убей.
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39425550
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDLИ главное почему течет счетчик в служебных БД в них данные не пишутся.
И временные таблицы не создаются? И ALTER / GRANT не делается?
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39425592
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDLMaxim Boguk,
Если бы не помогал закат солнца в ручную, то я его не делал бы. После вакуума в ручную
WITH tbl AS (
SELECT
age(relfrozenxid),
current_setting('autovacuum_freeze_max_age')::integer fma
FROM
pg_class
WHERE
relkind IN ('r', 't')
)
SELECT
extract(epoch from now())::integer ts,
(
SELECT
((1 - max(age)::double precision / current_setting('autovacuum_freeze_max_age')::integer) * 100)::numeric(9,6)
FROM
tbl
WHERE
age < fma
) prc_before_av,
(
SELECT
((1 - max(age)::double precision / -((1 << 31) + 1)) * 100)::numeric(9,6)
FROM
tbl
) prc_before_stop;

такой не хитрый запрос показывает что до остановки БД у меня в районе 90%, а через неделю работы 40% если, его не делать то через 2 недели БД встанет колом . И восстановить ее работоспособность можно будет только в single mode vacuum. А это на моем объеме больше суток. Так что лучше я его в фоне погоняю раз в неделю, чем умрет БД на сутки.
autovacuum_vacuum_cost_delay по дефолту т.е равен vacuum_cost_delay = 0 меньше некуда. Вообще все параметры автовакуума стоят по дефолту раньше хватало, единственное что поменял это воркер еще один добавил.
Повторюсь дневные секции ночью обрабатываются pg_repack после него делается vacuum freeze таблицы и все равно autovacuum по ним бежит. Зачем для меня загадка. Данные не меняются счетчик у них всегда в прошлом, зачем по ним еще раз бежать? И главное почему течет счетчик в служебных БД в них данные не пишутся.

Когда подходит время autovacuum freeze будет по всем таблицам и всем строкам проходить в которых хоть 1 строку поменяли.
По дефолту autovacuum_vacuum_cost_delay равен не 0 а 20 вообще то.
Т.е. если после vacuum freeze - в таблице поменяли ХОТЬ 1 строку или добавили хоть одну - по ней будет autovacuum freeze, более того если подошло время - то даже если ничего не меняли всеравно заново фризить надо все.
Я бы сказал вам надо для начала на 9.6 обновится там с этим проще (не фризятся те страницы что не менялись).

Про служебные таблицы/базы я бы порекомендовал бы посмотреть на то для каких именно таблиц то age(relfrozenxid) меняется - тогда станет понятнее в чем сложность.
Что то вида
select c.oid, relname, n.nspname, age(relfrozenxid), ((1 - age(relfrozenxid)::double precision / -((1 << 31) + 1)) * 100)::numeric(9,6) FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE relkind IN ('r', 't') order by 4 desc limit 10;
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39425599
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDLЕсли бы не помогал закат солнца в ручную, то я его не делал бы. После вакуума в ручную
такой не хитрый запрос показывает что до остановки БД у меня в районе 90%, а через неделю работы 40% если, его не делать то через 2 недели БД встанет колом . И восстановить ее работоспособность можно будет только в single mode vacuum. А это на моем объеме больше суток. Так что лучше я его в фоне погоняю раз в неделю, чем умрет БД на сутки.
autovacuum_vacuum_cost_delay по дефолту т.е равен vacuum_cost_delay = 0 меньше некуда. Вообще все параметры автовакуума стоят по дефолту раньше хватало, единственное что поменял это воркер еще один добавил.
Повторюсь дневные секции ночью обрабатываются pg_repack после него делается vacuum freeze таблицы и все равно autovacuum по ним бежит. Зачем для меня загадка. Данные не меняются счетчик у них всегда в прошлом, зачем по ним еще раз бежать? И главное почему течет счетчик в служебных БД в них данные не пишутся.

Это только значит что autovacuum у вас настроен не верно и нет графиков и мониторинга его занятости.
Если все autovacuum_max_workers заняты дольше часа - это КРИТИЧЕСКАЯ проблема которую надо немедленно решать.
А у вас походу оно сутками в таком состоянии стоит.
Отсюда и начинаются закаты солнца в ручную вместо решения проблемы с настройкой.
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39426328
AndryDL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk,
autovacuum_vacuum_cost_delay по дефолту т.е равен vacuum_cost_delay = 0 здесь я погорячился он 20 мс если посмотреть в БД show all. То что автовакуумы молотят не останавливаясь , это действительно так. То что что то не так я и сам догадываюсь вопрос где копать, проблем не было и тут раз и появилась хотя настройки никто не менял.
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39426379
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDL,

вплоть до 9.6 (как уточнил выше максим) потребность во фризе была пропорциональна * произведению всего {объёма базы}* (даже старых, замороженных полностью блоков) на {поток транзакций} (скорость приращения счётчика). единственно -- сам фриз (запись) в данных уже отфриженных блоков не требовался. но чтение требовалось.

/* из этого кстати следует, что на фриз пустых баз, как и на очень тощих, пусть и с бегущим счетчиком, можно забить. т.е. тут вы зря что--то ищете.


начиная с 9.6(как говорят) -- не требуется даже чтение полностью пофриженных блоков, дотаточно чтения карты. в которой отмечены полностью пофриженные блоки.
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39426993
ora601
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDLи все равно autovacuum по ним бежит. Зачем для меня загадка.

У него есть еще другие параметры - например autovacuum_vacuum_threshold.
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39427632
AndryDL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwq,
Забить на фриз пустых баз это классно. Только они колом ставят весь сервер когда у них кончается счетчик и БД становиться доступной только для чтения , очень веселая история. Для того чтоб оживить сервер, надо его остановить , зайти stand-alone и повакуумить все БД в ручную. Видимо у Вас данных 1,5 Мб раз такие советы даете, какой врапэраунд - не слышали.
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39427643
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDLqwwq,
Забить на фриз пустых баз это классно. Только они колом ставят весь сервер когда у них кончается счетчик и БД становиться доступной только для чтения , очень веселая история. Для того чтоб оживить сервер, надо его остановить , зайти stand-alone и повакуумить все БД в ручную. Видимо у Вас данных 1,5 Мб раз такие советы даете, какой врапэраунд - не слышали.

С задачей фриза должен справляться AUTOVACUUM !!!! и только он.
Если вы занимаетесь закатом солнца вручную - надо это исправлять.
За мои 15 лет работы с Pg ни разу не приходилось freeze руками делать (потому что нормально все настроено и есть мониторинг и занятости autovacuums и сколько TS до wraparound осталось).

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39427665
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDLqwwq,
Забить на фриз пустых баз это классно. Только они колом ставят весь сервер когда у них кончается счетчик и БД становиться доступной только для чтения , очень веселая история. Для того чтоб оживить сервер, надо его остановить , зайти stand-alone и повакуумить все БД в ручную. Видимо у Вас данных 1,5 Мб раз такие советы даете, какой врапэраунд - не слышали.

гм. кто--то тут явно не понимает прочитанного.
просто в упор

"забить на объёмы фриза пустых баз" и "забить на фриз пустых баз"-- немного не одно и то же

1.5Мб
в целом, как писал один (законно) гордый архитектор нашей приблуды, ее объём был что--то порядка 16--32(шарды, в зависимости от состояния развертывания)*12ТБ. + центр около 12ТБ.
сейчас наверное уже больше
а автовакуум в центре у нас захлебнулся врапэрраундом примерно при 7ТБ, и на 5--й, кажется, эпохе. При 10 воркерах автоваккума. пришлось срочно что-то делать. Что удалось -- выше где--то я писал, но не для умственно альтернативных. т.ч. проехали


доп инфов некотором приближении, ситуация с фризом автовакуумом ДО ускорения фриза с помощью карты (т.е. 9.6., как утверждает максим) может быть промоделирована т.н. "простой волной" (термин такой, про нелинейность). модель конечно спорная хотя и пальцевая, и я её поэтому приводить не буду. но это намекает на склонность системы фриза автовакуумом (по крайней мере ДО коммита упомянутой фичи) к накоплению самоукручающихся "сгустков", типа автомобильных пробок. и т.п. "бунчей"...
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39430111
AndryDL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk,
Если бы автовакуум справлялся не было бы вопросов. Поставлю вопрос по другому .после плотного погружения в данный вопрос . Я выяснил что процессы автовакуума работают сильно тормозно (несколько часов на таблицу причем не большую 40-50 мл записей). Увеличение количество процессов автовакуума не приводит к желаемому результату, так как они тупо висят и ни чем не занимаются. Что нужно смотреть в каком направлении копать. Конфиг никто не трогал, кроме меня когда я пытался увеличить число автовакуумов. Таблицы которые автовакуумятся никто кроме него самого не держит. Но почти 9 часов делать вакуум на таблице из 43 Мл. записей это как то очень долго. Отсюда "течь" счетчика. Если туже таблицу руками фризить займет порядка 1 минуты , при этом он будет фризить и toast таблицу , а автовакуум бежит исключитель но по искомой, т.е. получается он основную таблицу 9 часов фризил еще столько же на тоаст потратит. Нигде информации по подобной ситуации не нашел, все исходят из того что автовакуум работает нормально. Что делать если он тупит? Вставка интенсивная и объемы тоже по этому счетчик течет только в путь. За ранее благодарен всем кто посоветует в каком направлении копать. Автовакуум должен справляться, но увы.
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39430139
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDL,

Покажите вывод команды:
Код: sql
1.
SELECT name,setting,boot_val FROM pg_settings WHERE name ~ 'vacuum';
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39430143
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDLMaxim Boguk,
Если бы автовакуум справлялся не было бы вопросов. Поставлю вопрос по другому .после плотного погружения в данный вопрос . Я выяснил что процессы автовакуума работают сильно тормозно (несколько часов на таблицу причем не большую 40-50 мл записей). Увеличение количество процессов автовакуума не приводит к желаемому результату, так как они тупо висят и ни чем не занимаются. Что нужно смотреть в каком направлении копать. Конфиг никто не трогал, кроме меня когда я пытался увеличить число автовакуумов. Таблицы которые автовакуумятся никто кроме него самого не держит. Но почти 9 часов делать вакуум на таблице из 43 Мл. записей это как то очень долго. Отсюда "течь" счетчика. Если туже таблицу руками фризить займет порядка 1 минуты , при этом он будет фризить и toast таблицу , а автовакуум бежит исключитель но по искомой, т.е. получается он основную таблицу 9 часов фризил еще столько же на тоаст потратит. Нигде информации по подобной ситуации не нашел, все исходят из того что автовакуум работает нормально. Что делать если он тупит? Вставка интенсивная и объемы тоже по этому счетчик течет только в путь. За ранее благодарен всем кто посоветует в каком направлении копать. Автовакуум должен справляться, но увы.

1)show autovacuum_vacuum_cost_delay ;
2)show vacuum_cost_delay ;
3)show show autovacuum_vacuum_scale_factor;
4)pg_dumpall -s | grep autovacuum (проверка что никто несуразные autovacuum_vacuum_cost_delay per table не прописал или еще какие то милые настройки для autovacuum per table)

Далее по результатам.
Простейший метод (жестокий конечно но):
1)autovacuum_vacuum_cost_delay=0
2)autovacuum_max_workers=10
3)рестарт базы (иначе 3 не применится)
(по итогам может поплохеть конечно дискам временно)

Но лучше покажите что дает 1-4 из начального запроса.
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39430221
AndryDL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk,
Это запрос настройки
"autovacuum";"on";"on"
"autovacuum_analyze_scale_factor";"0.1";"0.1"
"autovacuum_analyze_threshold";"50";"50"
"autovacuum_freeze_max_age";"200000000";"200000000"
"autovacuum_max_workers";"3";"3"
"autovacuum_multixact_freeze_max_age";"400000000";"400000000"
"autovacuum_naptime";"60";"60"
"autovacuum_vacuum_cost_delay";"20";"20"
"autovacuum_vacuum_cost_limit";"-1";"-1"
"autovacuum_vacuum_scale_factor";"0.2";"0.2"
"autovacuum_vacuum_threshold";"50";"50"
"autovacuum_work_mem";"-1";"-1"
"log_autovacuum_min_duration";"-1";"-1"
"vacuum_cost_delay";"0";"0"
"vacuum_cost_limit";"200";"200"
"vacuum_cost_page_dirty";"20";"20"
"vacuum_cost_page_hit";"1";"1"
"vacuum_cost_page_miss";"10";"10"
"vacuum_defer_cleanup_age";"0";"0"
"vacuum_freeze_min_age";"50000000";"50000000"
"vacuum_freeze_table_age";"150000000";"150000000"
"vacuum_multixact_freeze_min_age";"5000000";"5000000"
"vacuum_multixact_freeze_table_age";"150000000";"150000000"
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39430228
AndryDL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndryDL,
предыдущие настройки с другого сервера, не глядя запрос сделал не в том окне.
"autovacuum";"on";"on"
"autovacuum_analyze_scale_factor";"0.1";"0.1"
"autovacuum_analyze_threshold";"10000";"50"
"autovacuum_freeze_max_age";"200000000";"200000000"
"autovacuum_max_workers";"8";"3"
"autovacuum_multixact_freeze_max_age";"400000000";"400000000"
"autovacuum_naptime";"60";"60"
"autovacuum_vacuum_cost_delay";"20";"20"
"autovacuum_vacuum_cost_limit";"-1";"-1"
"autovacuum_vacuum_scale_factor";"0.4";"0.2"
"autovacuum_vacuum_threshold";"10000";"50"
"autovacuum_work_mem";"-1";"-1"
"log_autovacuum_min_duration";"0";"-1"
"vacuum_cost_delay";"0";"0"
"vacuum_cost_limit";"200";"200"
"vacuum_cost_page_dirty";"20";"20"
"vacuum_cost_page_hit";"1";"1"
"vacuum_cost_page_miss";"10";"10"
"vacuum_defer_cleanup_age";"0";"0"
"vacuum_freeze_min_age";"50000000";"50000000"
"vacuum_freeze_table_age";"150000000";"150000000"
"vacuum_multixact_freeze_min_age";"5000000";"5000000"
"vacuum_multixact_freeze_table_age";"150000000";"150000000"
...
Рейтинг: 0 / 0
Течет счетчик транзакций 9.5...
    #39430236
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndryDLMaxim Boguk,
Это запрос настройки
"autovacuum";"on";"on"
"autovacuum_analyze_scale_factor";"0.1";"0.1"
"autovacuum_analyze_threshold";"50";"50"
"autovacuum_freeze_max_age";"200000000";"200000000"
"autovacuum_max_workers";"3";"3"
"autovacuum_multixact_freeze_max_age";"400000000";"400000000"
"autovacuum_naptime";"60";"60"
"autovacuum_vacuum_cost_delay";"20";"20"
"autovacuum_vacuum_cost_limit";"-1";"-1"
"autovacuum_vacuum_scale_factor";"0.2";"0.2"
"autovacuum_vacuum_threshold";"50";"50"
"autovacuum_work_mem";"-1";"-1"
"log_autovacuum_min_duration";"-1";"-1"
"vacuum_cost_delay";"0";"0"
"vacuum_cost_limit";"200";"200"
"vacuum_cost_page_dirty";"20";"20"
"vacuum_cost_page_hit";"1";"1"
"vacuum_cost_page_miss";"10";"10"
"vacuum_defer_cleanup_age";"0";"0"
"vacuum_freeze_min_age";"50000000";"50000000"
"vacuum_freeze_table_age";"150000000";"150000000"
"vacuum_multixact_freeze_min_age";"5000000";"5000000"
"vacuum_multixact_freeze_table_age";"150000000";"150000000"

Ну вот как я уже написал у вас autovacuum потециально в бесконечное количество раз медленнее чем ручной vacuum
(скорее всего раз в 100-1000 на практике в зависимости от скорости дисков).

Как и ожидалось.
Я бы ставил что то вида для начала
autovacuum_vacuum_cost_delay=1
autovacuum_max_workers=20 (а то и 30 учитывая размер базы)

у вас настройки autovacuum стоят по умолчанию
а это значит настройки для базы на програмируемом калькуляторе
а не для базы в 12Tb что уже очень много для postgres и требует КРАЙНЕ грамотного обслуживания и мониторинга чтобы не иметь проблем.
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Течет счетчик транзакций 9.5...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]