#sql-server #postgresql
#sql-сервер #postgresql
Вопрос:
Мне нужно вычислить счетчик продолжительности жизни страницы в PostgreSQL точно так же, как это делает SQL Server.
Я знаю, что для этой проблемы нет встроенных показателей. Есть ли у кого-нибудь какие-нибудь идеи, как это можно сделать?
Обновить:
Пожалуйста, извините меня за то, что я не объяснил подробно смысл этой задачи.
Как всем известно, и SQL Server, и PostgreSQL используют SharedMemory для размещения страниц данных, которые, если отсутствуют в буфере, загружаются из медленной дисковой подсистемы в оперативную память. Эта операция стоит очень дорого. И мне нужен инструмент, чтобы точно контролировать эту процедуру. SQL Server имеет отличный счетчик «Ожидаемой продолжительности жизни страницы», который показывает, как долго данные хранятся в буфере, и, что самое главное, каждый раз, когда индикатор падает, мы можем с уверенностью сказать, что какие-то данные (неважно какие) были выгружены из буфера.
То есть вам нужен какой-то индикатор для PostgreSQL, который покажет, что страницы памяти данных SQL выгружаются из SharedMemory. Это не обязательно должно быть аналогично PLE. Но что-то близкое по смыслу.
В моем случае меня интересует PostgreSQL на CentOS или любой системе Linux.
Комментарии:
1. Я не совсем понимаю цель tis. PLE используется для очистки страниц в SQL Server. Postgres использует другой алгоритм для замены страниц.
2. Я думаю, вам нужно посмотреть на буферный модуль в postgresql
3. Так что же это за число?
4. Это звучит как ошибочная попытка заставить метрики / сигналы тревоги, специфичные для SQL Server, «работать» для Postgres без изменений, но поскольку движки совсем не сопоставимы, это было бы глупым делом. в 9 случаях из 10 люди даже не используют PLE каким-либо значимым образом, было бы хуже, если бы метрика «переводилась» для другого движка. Отслеживайте Postgres так, как нужно отслеживать Postgres.
5. Пожалуйста, извините меня за то, что я не объяснил подробно значение этой задачи. Я обновил вопрос в теме.