Перейти к основному содержимому

Описание разделов отчета по аналитике производительности Pangolin

Performance Insights Report – общая информация об отчете

  • Analysis Begin Time – начало анализируемого отрезка времени;
  • Analysis End Time – окончание анализируемого отрезка времени;
  • Elapsed Time – продолжительность анализируемого отрезка времени;
  • Sample Count – количество снимков, полученных за анализируемый период;
  • Average Active Sessions – отношение времени, затраченного на активность всех сессий, к продолжительности анализируемого отрезка времени.

Пример:

| Report property           | Value                    |
|---------------------------|--------------------------|
| Analysis Begin Time: | 2022-07-15 12:43:34+03 |
| Analysis End Time: | 2022-07-15 13:13:34+03 |
| Elapsed Time: | 30.00 min |
| Sample Count: | 266 |
| Average Active Sessions: | 0.15 |

Top Wait Events — топ ожидаемых событий

  • Event – тип события;
  • % of event – доля события из общего числа ожидаемых событий;
  • Avg Active Sessions — отношение времени, затраченного на ожидание события, к продолжительности анализируемого отрезка времени.

Пример:

| Event               | % of events | Avg Active Sessions |
|---------------------|-------------|---------------------|
| Client - ClientRead | 50 | 7 |
| Timeout - PgSleep | 41 | 6 |

Top Wait Locks – топ ожидаемых блокировок

  • Event – тип блокировки;
  • % of event – доля блокировки из общего числа ожидаемых событий;
  • Lock Mode – название режима блокировки;
  • P1 Value, P2 Value, P3 Value, P4 Value – значение идентификаторов блокированных объектов;
  • P1 – тип первого идентификатора;
  • P2 – тип первого идентификатора или пустая строка, если тип идентификатора не определен;
  • P3 – тип первого идентификатора или пустая строка, если тип идентификатора не определен;
  • P4 – тип первого идентификатора или пустая строка, если тип идентификатора не определен.

Пример:

| Event           | % of event | Lock Mode            | P1 Value, P2 Value, P3 Value, P4 Value | P1       | P2       | P3 | P4 |
|-----------------|------------|----------------------|----------------------------------------|----------|----------|----|----|
| Lock - relation | 8 | AccessExclusiveLock | 13481, 16397, 0, 0 | database | relation | | |

Top Databases – топ баз данных, к которым были подключены активные сессии

  • DB ID – идентификатор базы данных;
  • DB Name – наименование базы данных;
  • % of databases – отношение количества подключений к данной базе к общему числу подключений к базам данных;
  • % of activities – отношение количества подключений к данной базе к общему числу активных процессов.

Пример:

| DB ID   | DB Name    | % of databases   | % of activities   |
|---------|------------|------------------|-------------------|
| 13481 | postgres | 100 | 100 |

Top SQL with Top Events – топ выполняемых запросов, находящихся в процессе ожидания событий, с топом ожидаемых событий

  • SQL ID – идентификатор запроса;
  • Sampled # of Executions – количество снимков данных, в которых данный запрос ожидал завершения события;
  • % of activities – отношение количества активных сессий с данным запросом к общему количеству активных сессий;
  • Event – тип события или тип блокировки, ожидаемые при выполнении данного запроса;
  • % of events – отношение данного события к общему количеству событий;
  • SQL Text – сокращенный текст запроса (полный текст в следующей секции).

Пример:

| SQL ID               | Sampled # of Executions | % of activities | Event               | % of events | SQL Text                                   |
|----------------------|-------------------------|-----------------|---------------------|-------------|--------------------------------------------|
| 1850855471699527187 | 110 | 41 | Timeout - PgSleep | 41 | select pg_sleep(***) ; |
| 1100712015885200331 | 51 | 19 | Client - ClientRead | 19 | lock table t in access exclusi... |
| -4305687194615816370 | 25 | 9 | Client - ClientRead | 9 | lock table t with access exclu... |
| -8910450425577833270 | 21 | 8 | Lock - relation | 8 | lock table t in access exclusi... |
| 243315582263949594 | 16 | 6 | Client - ClientRead | 6 | create table t(i int); |
| 5100846777726634823 | 14 | 5 | Client - ClientRead | 5 | begin; |
| -3433273270071927242 | 11 | 4 | Client - ClientRead | 4 | lock table t in mode access ex... |
| -8395391948354886396 | 7 | 3 | Client - ClientRead | 3 | lock table t exclusive; |
| -8022650447139647962 | 5 | 2 | Client - ClientRead | 2 | lock table t access exclusive; |
| -3132538744152301975 | 3 | 1 | Client - ClientRead | 1 | lock table t accessexclusive; |

Complete List of SQL Text – Полный текст запроса

  • SQL ID – идентификатор запроса;
  • SQL Text – текст запроса.

Пример:

| SQL ID               | SQL Text                                                                                           |
|----------------------|----------------------------------------------------------------------------------------------------|
| 1850855471699527187 | select pg_sleep(***) ; |
| 1100712015885200331 | lock table t in access exclusive mode; |
| -4305687194615816370 | lock table t with access exclusive; |
| -8910450425577833270 | lock table t in access exclusive mode; |
| 243315582263949594 | create table t(i int); |
| 5100846777726634823 | begin; |
| -3433273270071927242 | lock table t in mode access exclusive; |
| -8395391948354886396 | lock table t exclusive; |
| -8022650447139647962 | lock table t access exclusive; |
| -3132538744152301975 | lock table t accessexclusive; |
| -1351556488141190034 | SELECT pg_catalog.pg_file_unlink(***); |
| SELECT pg_catalog.pg_file_write(***, |
| (SELECT pg_stat_activity_and_lock_status_history_report(NULL,NULL,NULL,NULL)), |
| FALSE ); |

Top Sessions – топ сессий, ожидающих завершения некоторого события

  • Pid – идентификатор процесса, обрабатывающего данное подключение;
  • Backend – тип процесса;
  • Application – наименование приложения, выполнившего подключение;
  • User – пользователь, от имени которого выполнили подключение. В режиме маскирования – идентификатор пользователя;
  • Connection – имя хоста (или адрес, если имя не найдено) и порт, с которых выполнено подключение;
  • % of activities – отношение числа данной сессии к общему числу активных сессий;
  • Event – тип события или тип блокировки, ожидаемый при работе данной сессии;
  • % of events – отношение данного события к общему количеству событий;
  • # Samples Active – отношение количества снимков с данной сессией к общему количеству снимков;
  • XIDs – идентификатор транзакции, в рамках которой ожидалось данное событие;
  • CPU time - время, затраченное процессором на выполнение сессии;
  • RSS memory - объем занимаемой памяти;
  • Disk read - количество считанных сессией данных с диска;
  • Disk written - количество записанных сессией данных на диск.

Пример:

| Pid   | Backend        | Application | User | Connection        | % of activities | Event               | % of events | # Samples Active | XIDs   | CPU time, ms | RSS memory, KiB | Disk read, KiB | Disk written, KiB |
|-------|----------------|-------------|------|-------------------|-----------------|---------------------|-------------|------------------|--------|--------------|-----------------|----------------|-------------------|
| 41753 | client backend | psql | 10 | Timeout - PgSleep | 41 | Timeout - PgSleep | 0 | 30 | 20784 | 0 | 0 | 0 | 0 |
| | | | | | | Client - ClientRead | 26 | 70/266 | 0 | | | | |
| | | | | | | Client - ClientRead | 17 | 46/266 | 511 | | | | |
| | | | | | | Client - ClientRead | 6 | 16/266 | 509 | | | | |

Top Blocking Sessions – топ сессий, ожидающих снятия блокировки

  • Pid – идентификатор процесса, обрабатывающего данное подключение;
  • Backend – тип процесса;
  • Application – наименование приложения, выполнившего подключение;
  • User – пользователь, от имени которого выполнили подключение. В режиме маскирования – идентификатор пользователю;
  • Connection – имя хоста (или адрес, если имя не найдено) и порт, с которых выполнено подключение;
  • % of activities – отношения числа данной сессии к общему числу активных сессий;
  • Event – тип события или тип блокировки, ожидаемые при работе данной сессии;
  • % of events – отношение данного события к общему количеству событий;
  • # Samples Active – отношение количества снимков с данной сессией к общему количеству снимков;
  • XIDs – идентификатор транзакции, в рамках которой ожидалось данное событие.

Пример:

| Pid   | Backend        | Application                              | User | Connection    | % of activities | Event           | % of events | # Samples Active | XIDs |
|-------|----------------|------------------------------------------|------|---------------|-----------------|-----------------|-------------|------------------|------|
| 41904 | client backend | DBeaver 7.0.5 - SQLEditor <Script-8.sql> | 10 | ***:38554 | 8 | Lock - relation | 8 | 21/266 | 512 |

Activity Over Time – топ событий ожидания и блокировок, с разбивкой по интервалам времени

  • Slot Time (Duration) – время начала и продолжительность интервала;
  • Slot Count – количество снимков в данном интервале;
  • Event – тип события ожидания или блокировки;
  • Event Count – количество событий данного типа в данном интервале;
  • % of events – отношение количества событий данного типа к общему количеству событий.

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

Пример:

| Slot Time (Duration)              | Slot Count | Event               | Event Count | % of events |
|-----------------------------------|------------|---------------------|-------------|-------------|
| 2022-07-15 12:43:34+03 (1.43 min) | 0 | | 0 | 0 |
| 2022-07-15 12:45:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 12:48:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 12:51:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 12:54:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 12:57:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 13:00:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 13:03:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 13:06:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 13:09:00+03 (3.00 min) | 155 | Timeout - PgSleep | 110 | 41 |
| - | - | Client - ClientRead | 45 | 17 |
| 2022-07-15 13:12:00+03 (1.58 min) | 87 | Client - ClientRead | 89 | 33 |
| - | - | Lock - relation | 21 | 8 |
| - | - | CPU - CPU | 1 | 0 |