SlideShare a Scribd company logo
1 of 40
Download to read offline
Мониторинг
PG и мир вокруг
Павел Труханов, okmeter.io
О чём это
● OLTP vs OLAP
● пользовательские vs машинные запросы
● нормальная ситуация vs проблемы
aka “как было vs как стало”
okmeter.io
Машинные
мощности
БД
СУБД
Запросы
Данные
Результа
т
Тепло
Другие процессы
Другие процессы
okmeter.io
Мониторинг
«наблюдение за состоянием объекта для определения
момента перехода в предельное состояние»
1. обнаружить проблемы и оповестить
2. на сколько все плохо?
3. какие сервисы? в чем причина?
4. … чиним …
5. убедиться что всё снова ОК
okmeter.io
Мониторинг для БД
● Нет запросов — нет проблем
● Запросы * данные
● Запросы vs доступные мощности
Проблемы:
● блокировки и конкуренция запросов
● отсутствующие индексы
● неэффективные запросы
● проблемы управления памятью
okmeter.io
Мониторинг для БД
1. обнаружить проблемы
= тормозит ли?
= тормозят ли запросы?
pg_stat_statements
okmeter.io
bgwriter
replication
database
user_tables
/indexes
io_user_tabl
/indexes
Мониторинг для БД
1. обнаружить проблемы
= тормозит ли?
= тормозят ли запросы?
pg_stat*
okmeter.io
# SELECT query, calls, total_time, FROM pg_stat_statements ORDER
BY total_time DESC LIMIT 1;
-[ RECORD 1 ]----------------------------------------------------
query | UPDATE pgbench_branches SET bbalance = bbalance + ?
WHERE bid = ?;
calls | 3001
total_time | 9609.00100000002
query Text of a representative statement
calls Number of times executed
total_time Total time spent in the statement
pg_stat_statements
okmeter.io
pg_stat_statements total_time
okmeter.io
производная current_q_time = rate(total_time)
pg_stat_statements total_time
okmeter.io
Например
current_q_time
avg_q_time = rate(total_time) / rate(calls)
okmeter.io
Проблемы с pg_s_s
● гонка pg_stat_statements_reset()
● нормализация
a as b a as c
y IN (?, ?) y IN (?, ?, ?)
select a, b select b, a
…
● разные планы одного запроса
pg_stat_plans?
● только total_time :(
● требует выполнения запроса в БД
okmeter.io
Реальная жизнь
max(rate(total_time)) top(10, rate(total_time)
mean(rate(total_time))
min(rate(total_time))
okmeter.io
Реальная жизнь
pg_stat_statments.calls
pg_stat_activity
pg_stat_user_tables.*upd
okmeter.io
Реальная жизнь
???
okmeter.io
Реальная жизнь
okmeter.io
okmeter.io
Мониторинг изнутри базы
это не всё
okmeter.io
Машинные
мощности
БД
СУБД
Запросы
Данные
Результа
т
Тепло
Другие процессы
Другие процессы
okmeter.io
«Снаружи» — ресурсы
tcp closewait
iowait swap
disk.write swap swap rate process
count
okmeter.io
Снаружи
Память
Диски
Диски
Диски
Raid?
okmeter.io
Где это есть?
Zabbix! ? — pg_monz, libzbxpgsql
Nagios / Munin / Cacti …
НЕТ pg_stat_statements :(
Что еще?
cli tools, другие pg extentions
см wiki.postgresql.org/wiki/Monitoring
okmeter.io
Где это есть?
FOSS: OpenPgMonitoring (OPM), PoWA
SaaS:
New relic + EnterpriseDB No pg_stat_statements
Datadog No pg_stat_statements
VividCortex !
pganalyze !
OKmeter (это мы :) !
okmeter.io
VividCortex
PgAnalyze
OKmeter
okmeter.io
pg_stat_statements
okmeter.io
okmeter.io
pg_stat_activity
okmeter.io
okmeter.io
pg_stat_activity
counter_rate(max_x_age)
okmeter.io
okmeter.io
okmeter.io
okmeter.io
okmeter.io
okmeter.io
okmeter.io
PgBouncer
okmeter.io
tcp
okmeter.io
Мониторинг
PG и мир вокруг
Павел Труханов, okmeter.io

More Related Content

Viewers also liked

Idyll
IdyllIdyll
IdyllRenny
 
Presentation for absa
Presentation for absaPresentation for absa
Presentation for absaKristi Hansen
 
Theoretical framework april 7th 2013
Theoretical framework april 7th 2013Theoretical framework april 7th 2013
Theoretical framework april 7th 2013MaFranciscaaa
 
Año de la misericordia Bianco Toro
Año de la misericordia Bianco ToroAño de la misericordia Bianco Toro
Año de la misericordia Bianco ToroBianco Toro
 
How To Create B2B Content That Converts
How To Create B2B Content That ConvertsHow To Create B2B Content That Converts
How To Create B2B Content That ConvertsMichael Brenner
 
SharePoint 2013 Adoption Tactics #SPSDFW
SharePoint 2013 Adoption Tactics #SPSDFWSharePoint 2013 Adoption Tactics #SPSDFW
SharePoint 2013 Adoption Tactics #SPSDFWGina Montgomery, V-TSP
 
ワンライナーでFreeBSDをインストールする
ワンライナーでFreeBSDをインストールするワンライナーでFreeBSDをインストールする
ワンライナーでFreeBSDをインストールするkunst1080
 

Viewers also liked (11)

Idyll
IdyllIdyll
Idyll
 
SMB Resume
SMB ResumeSMB Resume
SMB Resume
 
Presentation for absa
Presentation for absaPresentation for absa
Presentation for absa
 
Theoretical framework april 7th 2013
Theoretical framework april 7th 2013Theoretical framework april 7th 2013
Theoretical framework april 7th 2013
 
Año de la misericordia Bianco Toro
Año de la misericordia Bianco ToroAño de la misericordia Bianco Toro
Año de la misericordia Bianco Toro
 
How to prepare for Global Village
How to prepare for Global VillageHow to prepare for Global Village
How to prepare for Global Village
 
How To Create B2B Content That Converts
How To Create B2B Content That ConvertsHow To Create B2B Content That Converts
How To Create B2B Content That Converts
 
SharePoint 2013 Adoption Tactics #SPSDFW
SharePoint 2013 Adoption Tactics #SPSDFWSharePoint 2013 Adoption Tactics #SPSDFW
SharePoint 2013 Adoption Tactics #SPSDFW
 
The church at Sardis
The church at SardisThe church at Sardis
The church at Sardis
 
ワンライナーでFreeBSDをインストールする
ワンライナーでFreeBSDをインストールするワンライナーでFreeBSDをインストールする
ワンライナーでFreeBSDをインストールする
 
Social Media Marketing
Social Media MarketingSocial Media Marketing
Social Media Marketing
 

Similar to Мониторинг postgresql и мира вокруг него. Павел Труханов okmeter.io

Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)Ontico
 
Как играть без игрока
Как играть без игрокаКак играть без игрока
Как играть без игрокаSQALab
 
Нагрузочное тестирование web проектов
Нагрузочное тестирование web проектовНагрузочное тестирование web проектов
Нагрузочное тестирование web проектовSQALab
 
Как автоматизировать тестирование метрик на сайте
Как автоматизировать тестирование метрик на сайтеКак автоматизировать тестирование метрик на сайте
Как автоматизировать тестирование метрик на сайтеМаркетинг-аналитика с OWOX BI
 
Database First! О распространённых ошибках использования РСУБД / Николай Само...
Database First! О распространённых ошибках использования РСУБД / Николай Само...Database First! О распространённых ошибках использования РСУБД / Николай Само...
Database First! О распространённых ошибках использования РСУБД / Николай Само...Ontico
 
Database First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДDatabase First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДNikolay Samokhvalov
 
3 denys gobov - change request specification the knowledge base or the task...
3   denys gobov - change request specification the knowledge base or the task...3   denys gobov - change request specification the knowledge base or the task...
3 denys gobov - change request specification the knowledge base or the task...Ievgenii Katsan
 
Call of Postgres: Advanced Operations (part 4)
Call of Postgres: Advanced Operations (part 4)Call of Postgres: Advanced Operations (part 4)
Call of Postgres: Advanced Operations (part 4)Alexey Lesovsky
 
Мониторинг для сокращения затрат
Мониторинг для сокращения затратМониторинг для сокращения затрат
Мониторинг для сокращения затратAlexander Ivanov
 
Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...
Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...
Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...IT Event
 
Аналитика и метрики приложений 29.11.2016 г.
Аналитика и метрики приложений 29.11.2016 г.Аналитика и метрики приложений 29.11.2016 г.
Аналитика и метрики приложений 29.11.2016 г.SPbCoA
 
Развитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три годаРазвитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три годаSQALab
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...WrikeTechClub
 
Performance Testing Methodology for Enterprise Solutions
Performance Testing Methodology for Enterprise SolutionsPerformance Testing Methodology for Enterprise Solutions
Performance Testing Methodology for Enterprise SolutionsEgor Eremeev
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance managementSQALab
 
Управление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовУправление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовMail.ru Group
 
Igor Khrol “Тестирование в мире данных”
Igor Khrol “Тестирование в мире данных” Igor Khrol “Тестирование в мире данных”
Igor Khrol “Тестирование в мире данных” Dakiry
 
QA Fest 2015. Юрий Малый. Monthly Operations Review
QA Fest 2015. Юрий Малый. Monthly Operations ReviewQA Fest 2015. Юрий Малый. Monthly Operations Review
QA Fest 2015. Юрий Малый. Monthly Operations ReviewQAFest
 
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Ontico
 

Similar to Мониторинг postgresql и мира вокруг него. Павел Труханов okmeter.io (20)

Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
 
Как играть без игрока
Как играть без игрокаКак играть без игрока
Как играть без игрока
 
Нагрузочное тестирование web проектов
Нагрузочное тестирование web проектовНагрузочное тестирование web проектов
Нагрузочное тестирование web проектов
 
Как автоматизировать тестирование метрик на сайте
Как автоматизировать тестирование метрик на сайтеКак автоматизировать тестирование метрик на сайте
Как автоматизировать тестирование метрик на сайте
 
Database First! О распространённых ошибках использования РСУБД / Николай Само...
Database First! О распространённых ошибках использования РСУБД / Николай Само...Database First! О распространённых ошибках использования РСУБД / Николай Само...
Database First! О распространённых ошибках использования РСУБД / Николай Само...
 
Database First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДDatabase First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБД
 
3 denys gobov - change request specification the knowledge base or the task...
3   denys gobov - change request specification the knowledge base or the task...3   denys gobov - change request specification the knowledge base or the task...
3 denys gobov - change request specification the knowledge base or the task...
 
Call of Postgres: Advanced Operations (part 4)
Call of Postgres: Advanced Operations (part 4)Call of Postgres: Advanced Operations (part 4)
Call of Postgres: Advanced Operations (part 4)
 
Мониторинг для сокращения затрат
Мониторинг для сокращения затратМониторинг для сокращения затрат
Мониторинг для сокращения затрат
 
Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...
Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...
Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...
 
Аналитика и метрики приложений 29.11.2016 г.
Аналитика и метрики приложений 29.11.2016 г.Аналитика и метрики приложений 29.11.2016 г.
Аналитика и метрики приложений 29.11.2016 г.
 
Quality Assurance
Quality AssuranceQuality Assurance
Quality Assurance
 
Развитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три годаРазвитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три года
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
 
Performance Testing Methodology for Enterprise Solutions
Performance Testing Methodology for Enterprise SolutionsPerformance Testing Methodology for Enterprise Solutions
Performance Testing Methodology for Enterprise Solutions
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance management
 
Управление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовУправление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон Викторов
 
Igor Khrol “Тестирование в мире данных”
Igor Khrol “Тестирование в мире данных” Igor Khrol “Тестирование в мире данных”
Igor Khrol “Тестирование в мире данных”
 
QA Fest 2015. Юрий Малый. Monthly Operations Review
QA Fest 2015. Юрий Малый. Monthly Operations ReviewQA Fest 2015. Юрий Малый. Monthly Operations Review
QA Fest 2015. Юрий Малый. Monthly Operations Review
 
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
 

Мониторинг postgresql и мира вокруг него. Павел Труханов okmeter.io