Один Из Методов Получения Профиля Рабочей Нагрузки И Истории Ожидания В Postgresql

Продолжение статьи " Попытка создать аналог ASH для PostgreSQL. ".

В статье будет рассмотрено и показано на конкретных запросах и примерах, какую полезную информацию можно получить, используя историю представления pg_stat_activity.

Предупреждение.

В связи с новизной темы и незавершенным периодом тестирования статья может содержать ошибки.

Критика и комментарии приветствуются и ожидаются.



Входные данные



история отправки pg_stat_statements

pg_stat_history
  
  
   

CREATE TABLE pg_stat_history ( id SERIAL, snapshot_timestamp timestamp without time zone, database_id integer, dbid oid, userid oid, queryid bigint, query text, calls bigint, total_time double precision, min_time double precision, max_time double precision, mean_time double precision, stddev_time double precision, rows bigint, shared_blks_hit bigint, shared_blks_read bigint, shared_blks_dirtied bigint, shared_blks_written bigint, local_blks_hit bigint, local_blks_read bigint, local_blks_dirtied bigint, local_blks_written bigint, temp_blks_read bigint, temp_blks_written bigint, blk_read_time double precision, blk_write_time double precision, baseline_id integer );

Таблица заполняется каждый час с использованием dblink к целевой базе данных.

Самая интересная и полезная графа в таблице, конечно же.

идентификатор запроса .



pg_stat_activity просмотреть историю

archive_pg_stat_activity

CREATE TABLE archive_pg_stat_activity ( timepoint timestamp without time zone, datid oid, datname name, pid integer, usesysid oid, usename name, application_name text, client_addr inet, client_hostname text, client_port integer, backend_start timestamp without time zone, xact_start timestamp without time zone, query_start timestamp without time zone, state_change timestamp without time zone, wait_event_type text, wait_event text, state text, backend_xid xid, backend_xmin xid, query text, backend_type text, queryid bigint );

Таблица представляет собой таблицу History_pg_stat_activity, разбитую по часам (подробнее здесь — pg_stat_statements + pg_stat_activity + loq_query = pg_ash? и здесь - Попытка создать аналог ASH для PostgreSQL.)

Выход



ВРЕМЯ ЦП КЛАСТЕРА (СИСТЕМА + КЛИЕНТЫ)

Запрос

WITH t AS (

Теги: #Администрирование баз данных #postgresql #производительность postgresql #мониторинг postgresql
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.