|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
Всем привет! Мне сильно нужен был механизм, подобный оракловому AWR. Хороших и простых готовых аналогов не нашел, и решил сделать свой. Модуль выполнен в виде extension, так что относительно легко устанавливается и обновляется при выходе новых версий. Написан на чистом pl/pgsql, так что прост в понимании. Представляю модуль широкой общественности - пригодится и DBA и разработчикам. Особе ценна будет обратная связь - может кто багу найдет, или какие-нибудь пожелания дополнительные возникнут... Положил сюда: https://github.com/zubkov-andrei/pg_profile ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 13:31 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
Андрей ЗубковВсем привет! Мне сильно нужен был механизм, подобный оракловому AWR. Хороших и простых готовых аналогов не нашел, и решил сделать свой. Модуль выполнен в виде extension, так что относительно легко устанавливается и обновляется при выходе новых версий. Написан на чистом pl/pgsql, так что прост в понимании. Представляю модуль широкой общественности - пригодится и DBA и разработчикам. Особе ценна будет обратная связь - может кто багу найдет, или какие-нибудь пожелания дополнительные возникнут... Положил сюда: https://github.com/zubkov-andrei/pg_profile а это не смотрели https://github.com/dalibo/pgbadger? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 13:59 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
mefman, Поправьте меня если я ошибаюсь, но мне кажется что эта утилита работает исключительно с текстовыми логами сервера... Посмотрел поверхностно только сейчас, не знаю, попадают ли в текстовый лог данные, достаточные для получения данных, подобных pg_stat_statements. Не говоря уже о том, что логирование всех запросов, происходящих на сервере в текстовый лог сильно влияет на производительность... Ну и в моем модуле есть данные не только по запросам, а еще и по различным объектам схем. Короче, по данным статистических представлений, доступных в PostgreSQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 14:09 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
Андрей Зубков Посмотрел поверхностно только сейчас, не знаю, попадают ли в текстовый лог данные, достаточные для получения данных, подобных pg_stat_statements. Что интересно, это то что там намного больше полезных данных чем в pg_stat_statements. А вообще с тем количеством метрик которые позволяет получать постгрес - можно просто обойтись несколькими самописными views :) Кстати, тула снепшотит wait events 9.6 версии ? Если нет, то добавь хоть чем то будет лучше остальных) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2017, 13:15 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
ora601, К сожалению, самописных вьюх никак недостаточно - обязательно нужно где-то хранить данные в предыдущие моменты времени. Ни одна вьюха в прошлое заглянуть не может. Нужны таблицы, и в них надо периодически данные складывать. Предлагаемый механизм как раз избавляет администратора от необходимости городить весь этот огород - поставил один extension и можешь с его помощью отчеты строить, все самое нужное, на мой взгляд, в нем есть. Полезных данных в логе, может, и много, но предлагаемый механизм предназначен для начала поисков проблем производительности, для этого содержащихся данных вполне достаточно. А вот из-за оверхеда, связанного с необходимостью записи в журнал, применение методов, основанных на анализе журналов неприменимо на нагруженных системах от слова никак. По поводу wait events версии 9.6. В дело можно пустить только статистики ожидания - накопленные суммы времени ожиданий для разных серверных процессов. Такого в PostgreSQL еще нет. Все что есть - это возможность по запросу в pg_stat_activity понять чего процесс ждет именно сейчас, но без времени ожидания данные эти бесполезны. Не говоря о том, что для того чтобы получить общую картину запросы эти необходимо выполнять часто, и это все равно не даст сколь-нибудь достоверных данных. Так что wait events, до сих пор невозможен. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2017, 13:32 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
Андрей Зубков Не говоря о том, что для того чтобы получить общую картину запросы эти необходимо выполнять часто, и это все равно не даст сколь-нибудь достоверных данных. Так что wait events, до сих пор невозможен. Иронично что разработчики самого постгрес тормозят развитие хороших мониторинг тулс. Андрей Зубковприменение методов, основанных на анализе журналов неприменимо на нагруженных системах от слова никак. Depends, запросы то бывают разные по продолжительности, если его положить на любой другой диск то не такой уж и оверхед, ну разве что CPU остаеться да. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2017, 13:39 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
ora601Иронично что разработчики самого постгрес тормозят развитие хороших мониторинг тулс. На всё есть довольно веские причины, скорее всего архитектурного характера. Если бы это было просто - давно бы сделали. ora601Depends, запросы то бывают разные по продолжительности, если его положить на любой другой диск то не такой уж и оверхед, ну разве что CPU остаеться да. Понятно, что для какого-нибудь неподъемного DSS/DW можно и логи анализировать. Но это же не универсальное решение, так же как добавление в конфигурацию отдельных дисков, SSD, рамдисков и прочего такого же... Подозреваю что на нагруженной системе лог будет за час расти настолько что его тупо негде будет хранить (особенно, учитывая что хранилище должно быть относительно быстрым), не говоря уже о времени, необходимом на парсинг. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2017, 14:12 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
ora601Иронично что разработчики самого постгрес тормозят развитие хороших мониторинг тулс. Что Вы имеете в виду? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2017, 15:00 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
Андрей ЗубковПонятно, что для какого-нибудь неподъемного DSS/DW можно и логи анализировать. Но это же не универсальное решение, так же как добавление в конфигурацию отдельных дисков, SSD, рамдисков и прочего такого же...Почему? Зачастую это самое эффективное решение. Андрей ЗубковПодозреваю что на нагруженной системе лог будет за час расти настолько что его тупо негде будет хранить (особенно, учитывая что хранилище должно быть относительно быстрым), не говоря уже о времени, необходимом на парсинг.Я слышал, что многие используют как раз на высоконагруженных системах... Кстати: http://blog.endpoint.com/2012/06/logstatement-postgres-all-full-logging.html ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2017, 15:04 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
Андрей ЗубковВсем привет! Мне сильно нужен был механизм, подобный оракловому AWR. Хороших и простых готовых аналогов не нашел, и решил сделать свой. Модуль выполнен в виде extension, так что относительно легко устанавливается и обновляется при выходе новых версий. Написан на чистом pl/pgsql, так что прост в понимании. Представляю модуль широкой общественности - пригодится и DBA и разработчикам. Особе ценна будет обратная связь - может кто багу найдет, или какие-нибудь пожелания дополнительные возникнут... Положил сюда: https://github.com/zubkov-andrei/pg_profile багов полагаю там полно ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 13:24 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
PgSQLanonymous3Почему? Зачастую это самое эффективное решение. А каковы критерии эффективности? Иначе это вода в ступе... Я разрабатывал свой модуль преследуя следующие основные критерии эффективности: - Простота установки и использования. Минимум необходимых действий и отсутствие необходимости в установке и настройке дополнительного ПО - Отсутствие необходимости в изменении аппаратного ландшафта. - Минимальное воздействие на производительность СУБД. PgSQLanonymous3Я слышал, что многие используют как раз на высоконагруженных системах... Кстати: http://blog.endpoint.com/2012/06/logstatement-postgres-all-full-logging.html Сходил, почитал... И что мы там видим? Надо воткнуть в сервер отдельные диски для логов, настроить специальным образом файловые системы, оптимизируя запись логов, при большом росте логов отправлять их в сторонку на отдельный сервер или (о ужас) на ленту. Разве это может считаться удобным универсальным решением? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 14:11 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
acidophilusбагов полагаю там полно А я тоже так думаю. Вот поэтому я и опубликовал модуль. Возможно Вы найдете парочку багов, сообщите мне, и модуль станет лучше, а всем кто будет его использовать станет немного легче жить. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 14:13 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
Положил сегодня свежее обновление, поправил довольно много разных ошибок и применил генерацию (и агрегирование статистик) queryid по аналогии с pgcenter. По прежнему жду конструктивных отзывов :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2017, 16:39 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
Андрей Зубков, Спасибо за аннос расширения. Попробую воспользоваться. О результатах напишу ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 14:16 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
На этот модуль даже есть видео с PG-конференции 2018 года ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 05:45 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
Да, на регулярные обновления времени как обычно не хватает, но как раз вчера опубликовал свежую версию. Теперь можно строить сравнительные отчеты. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 21:56 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
Попробовал на тестовой БД, отчет формируется, информация интересная. Для нагрузочного тестирования это точно полезная вещь. Андрей добавил более подробное сообщение об ошибке при снапшоте, которого раньше не было. Рекомендую! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2019, 08:54 |
|
AWR "для бедных". Представляю модуль pg_profile.
|
|||
---|---|---|---|
#18+
Поставил на Windows, Postgres 9.6 ради интереса. Вроде пашет. Вечером попробую поставить на одном проекте где постгрес очень даже перегружен, ибо в него влили логику нехилого проекта документооборота в строительстве с оракла. (200 схем, 1500 таблиц, 3000 вьюх, 1500 функций). Интересно глянуть на результаты. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:45 |
|
|
start [/forum/topic.php?fid=53&tid=1994899]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 272ms |
total: | 422ms |
0 / 0 |