powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Настройка bgwriter'а
9 сообщений из 9, страница 1 из 1
Настройка bgwriter'а
    #40073963
Безенчук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После прочтения статей о настройке bgwriter, казалось, что всё просто и понятно:
- уменьшаешь bgwriter_delay - процесс фоновой записи меньше отдыхает между периодами активности;
- увеличиваешь bgwriter_lru_maxpages - больше грязных буферов записывается за один проход.
В итоге оптимальные настройки bgwriter должны уменьшить количество буферов, которые серверные процессы вынуждены сбрасывать на диск самостоятельно. Однако у меня, после уменьшения в 4 раза bgwriter_delay и двукратного увеличения bgwriter_lru_maxpages, всё вышло наоборот: по данным pg_stat_bgwriter (после сброса статистики) наибольшее число буферов записано именно backend'ами. Настройки checkpointer не трогал. Почему так вышло? Настройка bgwriter вроде бы должна позволять ему записывать на диск больше буферов, но в итоге выходит, что серверным процессам всё равно недостаточно страниц для своих дел.
Версия - PostgreSQL 11.6.
...
Рейтинг: 0 / 0
Настройка bgwriter'а
    #40074234
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Безенчук,

Попробуйте параметры на максимум выкрутить и посмотреть будет ли результат... некоторые workloads так устроены что backend writes будут что ни делай. Некоторые таки решаются через bgwriter. Самое эффективное ставить bgwriter_delay на минимум и далее регулировать нагрузку от bgwriter через bgwriter_lru_maxpages.

PS: на почти любой системе кроме совсем калькулятора или readonly базы - выставление предельно аггресивных настроек bgwriter - единственное рабочее решение.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Настройка bgwriter'а
    #40074333
Безенчук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk, спасибо!

Однако, вызывает интерес вот ещё какой разрез: до того, как я поменял настройки bgwriter, его статистика показывала, что на долю backend'ов приходится меньше записанных буферов, чем на checkpointer+bgwriter. Когда я перенастроил bgwriter, позволив ему записывать больше - вышло обратное: backend'ы стали лидерами по записанным буферам. Может ли это быть связано с тем, что autovacuum был подстроен для более интенсивного функционирования?
...
Рейтинг: 0 / 0
Настройка bgwriter'а
    #40074388
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Безенчук
Maxim Boguk, спасибо!

Однако, вызывает интерес вот ещё какой разрез: до того, как я поменял настройки bgwriter, его статистика показывала, что на долю backend'ов приходится меньше записанных буферов, чем на checkpointer+bgwriter. Когда я перенастроил bgwriter, позволив ему записывать больше - вышло обратное: backend'ы стали лидерами по записанным буферам. Может ли это быть связано с тем, что autovacuum был подстроен для более интенсивного функционирования?


Скорее всего именно с этим и связано.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Настройка bgwriter'а
    #40074481
Безенчук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В тему настроек возник ещё один вопрос: если checkpointer бодро рапортует в лог следующим образом: "checkpoint complete: wrote 131743 buffers (25.1%)", значит ли это, что в данный момент грязными буферами было занято 25,1% от объёма shared_buffers?
...
Рейтинг: 0 / 0
Настройка bgwriter'а
    #40074527
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Безенчук
В тему настроек возник ещё один вопрос: если checkpointer бодро рапортует в лог следующим образом: "checkpoint complete: wrote 131743 buffers (25.1%)", значит ли это, что в данный момент грязными буферами было занято 25,1% от объёма shared_buffers?


точнее даже так
"пока checkpoint обоходил последовательно все shared buffers он нашел 25.1% из них грязными"
(что не совсем тоже что "в данный момент грязными буферами было занято").
Система то динамическая.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Настройка bgwriter'а
    #40074552
Безенчук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за уточнение!
Но в целом можно сказать, что при текущей нагрузке на базу (грязные буферы занимают четверть всего объёма shared_buffers) значение этого параметра подобрано с запасом?
...
Рейтинг: 0 / 0
Настройка bgwriter'а
    #40074553
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Безенчук
Спасибо за уточнение!
Но в целом можно сказать, что при текущей нагрузке на базу (грязные буферы занимают четверть всего объёма shared_buffers) значение этого параметра подобрано с запасом?


настройка bgwriter не очень связанна с тем сколько dirty на checkpoint получается.
я бы тупо на максимум бы его настройки выкрутил и успокоился.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Настройка bgwriter'а
    #40074657
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk
Безенчук
В тему настроек возник ещё один вопрос: если checkpointer бодро рапортует в лог следующим образом: "checkpoint complete: wrote 131743 buffers (25.1%)", значит ли это, что в данный момент грязными буферами было занято 25,1% от объёма shared_buffers?


точнее даже так
"пока checkpoint обоходил последовательно все shared buffers он нашел 25.1% из них грязными"

https://github.com/postgres/postgres/blob/REL_13_STABLE/src/backend/storage/buffer/bufmgr.c#L2012
И более того: это только то что писал сам чекпойнтер. Найти мог больше, но если их к моменту прохода цикла кто-то уже записал - не считаем в этом счётчике.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Настройка bgwriter'а
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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