Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопрос про запись в WAL / 12 сообщений из 12, страница 1 из 1
23.05.2021, 13:55
    #40072283
Безенчук
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про запись в WAL
В документации к PostgreSQL (возьмём для определённости 11 версию), сказано, что для буферизации журнала предзаписи в памяти сервера выделяется кусок, размером wal_buffers. В начало этого блока памяти постоянно записывается информация об изменениях, произведённых с данными таблиц и индексов, команды DDL и т.д. и т.п. По мере добавления в буфер новых записей, самая первая запись потихоньку продвигается к концу буфера и как только ей уже будет некуда двигаться (вся буферная память заполнена) эта запись сбрасывается на диск и сохраняется в WAL-файл. Правильно ли понят мною этот процесс или же записи из буфера в WAL-файл попадают не по одной, а порциями?
...
Рейтинг: 0 / 0
23.05.2021, 22:10
    #40072334
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про запись в WAL
Безенчук
В документации к PostgreSQL (возьмём для определённости 11 версию), сказано, что для буферизации журнала предзаписи в памяти сервера выделяется кусок, размером wal_buffers. В начало этого блока памяти постоянно записывается информация об изменениях, произведённых с данными таблиц и индексов, команды DDL и т.д. и т.п. По мере добавления в буфер новых записей, самая первая запись потихоньку продвигается к концу буфера и как только ей уже будет некуда двигаться (вся буферная память заполнена) эта запись сбрасывается на диск и сохраняется в WAL-файл. Правильно ли понят мною этот процесс или же записи из буфера в WAL-файл попадают не по одной, а порциями?


Все есть в документации...
"The contents of the WAL buffers are written out to disk at every transaction commit"

Так же для лучшего понимания рекомендую почитать
https://www.postgresql.org/docs/13/wal-configuration.html
и
https://www.postgresql.org/docs/13/runtime-config-wal.html#GUC-WAL-BUFFERS

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
23.05.2021, 22:51
    #40072338
Безенчук
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про запись в WAL
Maxim Boguk
Так же для лучшего понимания рекомендую почитать
https://www.postgresql.org/docs/13/wal-configuration.html
и
https://www.postgresql.org/docs/13/runtime-config-wal.html#GUC-WAL-BUFFERS
После прочтения именно этой части документации, правда в переводе на русский
https://postgrespro.ru/docs/postgresql/11/wal-configuration
и
https://postgrespro.ru/docs/postgresql/11/runtime-config-wal#GUC-WAL-BUFFERS возник данный вопрос.
Maxim Boguk
Все есть в документации...
"The contents of the WAL buffers are written out to disk at every transaction commit"
Вот тут как раз и есть кроется для меня неясность: каких именно буферов? Всех, тех что вытесняются из разделяемой памяти, используемой для буферизации WAL, или же тех, что относятся к фиксируемой транзакции?
...
Рейтинг: 0 / 0
23.05.2021, 23:04
    #40072340
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про запись в WAL
Безенчук
Maxim Boguk
Так же для лучшего понимания рекомендую почитать
https://www.postgresql.org/docs/13/wal-configuration.html
и
https://www.postgresql.org/docs/13/runtime-config-wal.html#GUC-WAL-BUFFERS
После прочтения именно этой части документации, правда в переводе на русский
https://postgrespro.ru/docs/postgresql/11/wal-configuration
и
https://postgrespro.ru/docs/postgresql/11/runtime-config-wal#GUC-WAL-BUFFERS возник данный вопрос.
Maxim Boguk
Все есть в документации...
"The contents of the WAL buffers are written out to disk at every transaction commit"
Вот тут как раз и есть кроется для меня неясность: каких именно буферов? Всех, тех что вытесняются из разделяемой памяти, используемой для буферизации WAL, или же тех, что относятся к фиксируемой транзакции?


Всех.
PS: не читайте русские переводы документации... и фильмы в переводе не смотрите.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
24.05.2021, 09:56
    #40072378
Безенчук
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про запись в WAL
Maxim Boguk
Всех.
Выходит, что фиксация любой транзакции приводит к полному перемещению всех буферов WAL из памяти на диск и значения pg_current_wal_lsn и pg_current_wal_insert_lsn на некоторое время совпадут, пока в буфер вновь что-то не будет записано?
Maxim Boguk
PS: не читайте русские переводы документации... и фильмы в переводе не смотрите.
А так же советских газет до обеда. Хорошо, постараюсь.
...
Рейтинг: 0 / 0
24.05.2021, 10:55
    #40072387
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про запись в WAL
Безенчук
Maxim Boguk
Всех.
Выходит, что фиксация любой транзакции приводит к полному перемещению всех буферов WAL из памяти на диск и значения pg_current_wal_lsn и pg_current_wal_insert_lsn на некоторое время совпадут, пока в буфер вновь что-то не будет записано?


Вот это уже вопрос на который я не готов дать ответ без влезания в код.
Но судя по (тоже из документации)

pg_current_wal_lsn displays the current write-ahead log write location in the same format used by the above functions. Similarly, pg_current_wal_insert_lsn displays the current write-ahead log insertion location and pg_current_wal_flush_lsn displays the current write-ahead log flush location. The insertion location is the “logical” end of the write-ahead log at any instant, while the write location is the end of what has actually been written out from the server's internal buffers, and the flush location is the last location known to be written to durable storage. The write location is the end of what can be examined from outside the server, and is usually what you want if you are interested in archiving partially-complete write-ahead log files. The insertion and flush locations are made available primarily for server debugging purposes.

таки да.

Основной вопрос - какую задачу вы решаете что полезли в эти дебри фактически отладочной информации.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
24.05.2021, 11:19
    #40072398
Безенчук
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про запись в WAL
Maxim Boguk, задача, которую я решаю - это подготовка базы данных к предстоящему увеличению в несколько (до 5) раз нагрузки. Поэтому я разбираюсь, как работают вспомогательные процессы Postgres, которые пишут на диск.
...
Рейтинг: 0 / 0
24.05.2021, 11:51
    #40072410
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про запись в WAL
Безенчук
Maxim Boguk, задача, которую я решаю - это подготовка базы данных к предстоящему увеличению в несколько (до 5) раз нагрузки. Поэтому я разбираюсь, как работают вспомогательные процессы Postgres, которые пишут на диск.

в таком случае - вы занимаетесь ерундой.
...
Рейтинг: 0 / 0
24.05.2021, 11:56
    #40072411
Безенчук
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про запись в WAL
mefman
в таком случае - вы занимаетесь ерундой.
Думаю, что не совсем ерундой, скорее - не в том направлении.
...
Рейтинг: 0 / 0
24.05.2021, 15:04
    #40072467
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про запись в WAL
Безенчук
mefman
в таком случае - вы занимаетесь ерундой.
Думаю, что не совсем ерундой, скорее - не в том направлении.


Явно не в том (судя по вашему вопросу).

Я бы рекомендовал начинать с нагрузочного тестирования на требуемый уровень нагрузки + 30-50%.. и после этого смотреть где у вас узкие места (практика показывает что угадать заранее даже с 20+ годами опыта почти не реально при таком росте нагрузки кроме совсем уж очевидных случаев когда процессора и так уже не хватает).



--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
24.05.2021, 15:32
    #40072477
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про запись в WAL
Безенчук
mefman
в таком случае - вы занимаетесь ерундой.
Думаю, что не совсем ерундой, скорее - не в том направлении.

Ну и в общем случае - читайте про тюнинг автовакуума , чекпойнтера и бгврайтера .
...
Рейтинг: 0 / 0
24.05.2021, 18:13
    #40072546
Безенчук
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про запись в WAL
Maxim Boguk, mefman, спасибо!
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопрос про запись в WAL / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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