Рейтинг:0

Показатели чтения с диска не отображаются для активности postgres

флаг ru

Я давно заметил, что ESXI не показывает активность чтения диска для моего сервера базы данных Ubuntu Postgres. Я подумал, что, возможно, это была просто странная ошибка с ESXI, так как она показывала активность записи на диск.

Я решил установить Zabbix и посмотреть, смогу ли я отслеживать активность чтения с диска с помощью этого, но то же самое, при очень интенсивной активности чтения БД скорость чтения с диска равна 0. не близка к нулю или низкая. а вообще 0.

Я понял, что если я открою большой файл для передачи файла сервера БД, я ДЕЙСТВИТЕЛЬНО увижу активность чтения с диска. Так что не отображается только чтение Postgres.

Есть ли какой-то способ, с помощью которого Postgres может «обойти» ОС, чтобы он не мог видеть\сообщать об использовании чтения с диска?

РЕДАКТИРОВАТЬ: также вполне возможно, что единственная активность записи, которую я вижу, - это архивные файлы, а не запись в таблицу.

введите описание изображения здесь

vautee avatar
флаг kr
Мы не знаем, сколько трафика БД, так что, может быть, все это в основном читается и, возможно, покрывается кешем вашей БД? Попробуйте сделать огромное количество вставок и обновлений, отслеживая активность диска. Дополнительно: проверьте активность ввода-вывода на самой виртуальной машине БД, т. е. с помощью iostat.
флаг in
Скорее всего, postgres не нужно читать с диска, потому что запрошенные записи кэшируются в оперативной памяти.
dangel avatar
флаг ru
Возможно, он загружается из оперативной памяти, но один процесс, который у меня есть, проходит через всю таблицу с парой сотен тысяч строк. это занимает некоторое время, так что, возможно, он вытягивает достаточно маленькие куски за раз, чтобы на самом деле не регистрироваться. Я отредактировал сообщение, чтобы прикрепить график, на который я обращаю внимание
dangel avatar
флаг ru
так что думаю разобрался. Я думаю, что Linux кэширует файлы БД в оперативной памяти. Я заметил, что pg_dump также не показывает активность диска для базы данных размером примерно 3 ГБ. Я перезапустил postgres, и все равно ничего. Затем я сделал резервную копию другой базы данных на той же машине и увидел массу активности на диске. эта виртуальная машина имеет 16 ГБ оперативной памяти, и это просто машина для разработки, так что в остальном ничего не происходит
Рейтинг:0
флаг ru

Это оказалось не столько данные кэширования postgres, сколько сама ОС. Имея 12 ГБ доступной памяти и никаких других процессов на машине, Linux кэшировал большинство файлов БД в памяти. После очистка барана он сразу показал высокую загрузку диска с помощью pg_dump

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.