# 1. Overview(概览) ## 1.1 Global Stats(全局统计) ### Queries(查询) * Number of unique normalized queries:规范化的查询数目 与`pg_stat_statement`类似,按去掉参数后规范化的查询统计。 * Number of queries:查询数目 * Total query duration:总查询时长。所有查询的时长之和。例如,“7d20h40m16s”表示“7天20小时40分钟16秒”。 * First query:最早的查询。第一条查询的发生时间。 * Last query:最后的查询。最后一条查询的发生时间。 * Query peak:查询流量峰值(单位:查询数目/秒)与时间。 ### Durations(时长) * Total query duration:总查询时长。 * Prepare/parse total duration:预备与解析总时长。 * Bind total duration:绑定总时长。 * Execute total duration:执行总时长。 ### Events(事件) * Number of events:事件数目。 * Number of unique normalized events:规范化的事件数目。 * Max number of times the same event was reported:同一时间报告的最大事件参数。 * Number of cancellation:取消次数。 ### Vacuums(回收) * Total number of automatic vacuums:自动回收次数。 * Total number of automatic analyzes:自动分析次数。 ### Temporary files(临时文件) * Number temporary file:临时文件数目。 * Max size of temporary file:最大临时文件大小。 * Average size of temporary file:平均临时文件大小。 ### Sessions(会话) * Total number of sessions:总会话数 * Session peak:会话峰值(每秒会话数)与时间。 * Total duration of sessions:总会话时长。 * Average duration of sessions:平均会话时长。 * Average queries per session:平均会话查询数 * Average queries duration per session:平均会话查询时长。 * Average idle time per session:平均会话空闲时长。 ### Connections(连接) * Total number of connections:总连接数。 * Connection peak:连接峰值(每秒连接数)与时间。 * Total number of databases:数据库数目。 ## 1.2 SQL Traffic(SQL流量) SQL分类: pgBadger将SQL分成三大类,包括: * 读查询:SELECT。 * 写查询:INSERT、UPDATE、DELETE、COPY FROM、COPY TO、CTE、DDL、TCL、CURSOR。 * 其他:OTHERS。 KEY VALUES(关键值): * Query Peak:查询流量峰值,单位:查询数目/秒。对应绘图指标中“Maximum”的最大值。 * Data:以上峰值的时间。 绘图指标: QUERIES PER SECOND (5 MINUTES AVERAGE):每秒查询数目(5分钟平均)。 以5分钟为周期,例如横坐标“2012-12-11 02:05:00”点对应的值是“2012-12-11 02:05:00 ~ 2012-12-11 02:10:00”这5分钟的最大、平均和最小值(下同)。 * Maximum:最大值。统计5分钟周期内,每秒的查询个数,取其中最大的。 * Average:均值。统计5分钟周期内查询总个数,再除以300秒。 * Minimum:最小值。统计5分钟周期内,每秒的查询个数,取其中最小的。 ## 1.3 SELECT Traffic(读查询流量) 读查询流量是指“SELECT”SQL。 关键值: * Query Peak:读查询流量峰值,单位:读查询数目/秒。对应绘图指标中“Maximum”的最大值。 * Data:以上峰值的时间。 绘图指标: SELECT QUERIES (5 MINUTES PERIOD):读查询数目(5分钟周期)。 以5分钟为周期,统计周期内读流量的最大、平均和最小值。 * Maximum:最大值。统计5分钟周期内,每秒的读查询个数,取其中最大的。 * Average:均值。统计5分钟周期内读查询总个数,再除以300秒。 * Minimum:最小值。统计5分钟周期内,每秒的读查询个数,取其中最小的。 ## 1.4 INSERT/UPDATE/DELETE Traffic(INSERT/UPDATE/DELETE查询流量) 本节的标题叫“Write Traffic(写流量)”更合适。写查询流量是指“涉及写的SQL”。 关键值: * Query Peak:写查询流量峰值,单位:写查询数目/秒。对应绘图指标中“Maximum”的最大值。 * Data:以上峰值的时间。 绘图指标: WRITE QUERIES (5 MINUTES PERIOD):写查询数目(5分钟周期)。 以5分钟为周期,统计周期内流量的INSERT,UPDATE和DELETE的平均速率。 * DELETE queries:DELETE查询的平均速率。统计5分钟周期内,DELETE查询总个数,再除以300秒。 * INSERT queries:INSERT查询的平均速率。计算方法同“DELETE queries”。 * UPDATE queries:UPDATE查询的平均速率。计算方法同“DELETE queries”。 ## 1.5 Queries duration(查询时长) 关键值: * Total query duration:总查询时长。所有查询的时长之和。 绘图指标: AVERAGE QUERIES DURATION (5 MINUTES AVERAGE):平均查询时长(5分钟平均)。 * All queries:所有查询。5分钟周期内,所有查询平均时长,单位:毫秒。 * Select queries:读查询。计算方法同“All queries”。 * Write queries:写查询。计算方法同“All queries”。 ## 1.6 Prepared queries ratio(预备查询比率) 关键值: * Ratio of bind vs prepare:绑定与预备查询比例。绑定语句数目除以预备语句数目。 * Ratio between prepared and "usual" statements:预备与正常语句的比例。 绘图指标: * Prepare/Parse:? * Execute/Bind:? * Bind vs prepare:? # 2. Connections(连接) ## 2.1 Established Connections(完成的连接) 关键值: * Connection Peak:连接数峰值。对应绘图指标中“Maximum”的最大值。 * Data:以上峰值的时间。 绘图指标: CONNECTIONS PER SECOND (5 MINUTES AVERAGE):每秒连接数(5分钟平均)。 以5分钟为周期,统计周期连接的最大、平均和最小值。 * Maximum:最大值。统计5分钟周期内,每秒的连接个数,取其中最大的。 * Average:均值。统计5分钟周期内连接总个数,再除以300秒。 * Minimum:最小值。统计5分钟周期内,每秒的连接个数,取其中最小的。 ## 2.2 Connections per database(每数据库连接) 关键值: * Main Database:主要数据库。连接数最多的数据库。 * Total:总连接数。所有库的总连接数。 绘图指标: CONNECTIONS PER DATABASE:饼图,统计每个数据库的连接数百分比。 ## 2.3 Connections per user(每用户连接) 关键值: * Main Database:主要数据库。连接数最多的用户。 * Total:总连接数。所有用户的总连接数。 绘图指标: CONNECTIONS PER DATABASE:饼图,统计每个用户的连接数百分比。 ## 2.4 Connections per host(每主机连接) 关键值: * Main host with XXX connections:主要的主机有XXX次连接。 * Total connections:总连接数。所有主机的总连接数。理论上,按数据库、按用户和按主机统计的连接数会很接近,但不一定完全相等。 绘图指标: CONNECTIONS PER HOST:饼图,统计每个主机的连接数百分比。 # 3. Sessions(会话) ## 3.1 Simultaneous sessions(并发会话) 关键值: * Session Peak:会话数峰值。对应绘图指标中“Maximum”的最大值。 * Data:以上峰值的时间。 绘图指标: NUMBER OF SESSIONS/SECOND (5 MINUTES AVERAGE):每秒会话数(5分钟平均)。 以5分钟为周期,统计周期内会话的最大、平均和最小值。 * Maximum:最大值。统计5分钟周期内,每秒的会话个数,取其中最大的。 * Average:均值。统计5分钟周期内会话总个数,再除以300秒。 * Minimum:最小值。统计5分钟周期内,每秒的会话个数,取其中最小的。 ## 3.2 Histogram of session times(会话时间柱状图) 关键值: * XXX duration:显示会话次数(占比)最多的时长区间以及相应的会话次数。与绘图指标中最高柱对应。 绘图指标: 按会话时长区间统计会话次数,会话时长区间有:0ms-500ms、500ms-1s、1s-30s、30s-1m…… ## 3.3 Sessions per database(每数据库会话) 关键值: * Main Database:主要数据库。会话次数最多的数据库。对应绘图指标中占比最高的数据库。 * Total:总会话数。所有数据库的总会话数。 绘图指标: SESSIONS PER DATABASE:每数据库会话。饼图显示不同数据库会话次数占比。 ## 3.4 Sessions per user(每用户会话) 关键值: * Main User:主要用户库。会话次数最多的用户。对应绘图指标中占比最高的用户。 * Total:总会话数。所有用户的总会话数。 绘图指标: SESSIONS PER USER:每用户会话。饼图显示不同用户会话次数占比。 ## 3.5 Sessions per host(每主机会话) 关键值: * Main Host:主要主机。会话次数最多的主机。对应绘图指标中占比最高的主机。 * Total:总会话数。所有主机的总会话数。 绘图指标: SESSIONS PER HOST:每主机会话。饼图显示不同主机会话次数占比。 ## 3.6 Sessions per application(每应用会话) 关键值: * Main Host:这项写错了,应该是“Main Application”(主要应用)。会话次数最多的应用。对应绘图指标中占比最高的应用。 * Total:总会话数。所有应用的总会话数。 绘图指标: SESSIONS PER APPLICATION:每应用会话。饼图显示不同应用会话次数占比。 # 4. Checkpoints / Restartpoints(检查点/重启点) # 5. Temp Files(临时文件) ## 5.1 Size of temporary files(临时文件大小) 关键值: * Temp Files Peak:临时文件大小峰值。 * Date:以上峰值的时间。 绘图指标: SIZE OF TEMPORARY FILES (5 MINUTES PERIOD):临时文件大小(5分钟周期)。 * Size of files:临时文件大小。 ## 5.2 Number of temporary files(临时文件个数) 关键值: * Temp Files Peak:每秒临时文件个数峰值。单位:个/秒。 * Date:以上峰值的时间。 绘图指标: NUMBER OF TEMPORARY FILES (5 MINUTES PERIOD):临时文件个数(5分钟周期)。 * Number of files:临时文件个数。 ## 5.3 Temporary Files Activity(临时文件活动) 以小时为单位,统计每个小时的临时文件活动状态,包括:文件个数、总大小、平均大小。 ## 5.4 Queries generating the most temporary files (N)(生成最多临时文件的查询) 生成最多临时文件的查询排行。 ## 5.5 Queries generating the largest temporary files(生成最大临时文件的查询) 生成最大临时文件的查询排行。 # 6. Vacuums(回收) ## 6.1 Vacuums / Analyzes Distribution(回收/分析分布) ## 6.2 Analyzes per table(每表分析) ## 6.3 Vacuums per table(每表回收) ## 6.4 Tuples removed per table(每表移除元组) ## 6.5 Pages removed per table(每表移除页面) ## 6.6 Autovacuum Activity(自动回收活动) # 7. Locks(锁) ## 7.1 Locks by types(锁类型) 关键值: * Main Lock Type:主要的锁类型。 * Total:锁总次数。 绘图指标: TYPE OF LOCKS:按锁类型统计次数。 ## 7.2 Most frequent waiting queries (N)(等待次数最多查询) 等待次数最多查询排行。 ## 7.3 Queries that waited the most(等待时间最长的查询) 等待时间最长的查询排行。 # 8. Queries(查询) 从不同维度统计查询。 ## 8.1 Queries by type(按类型) ## 8.2 Queries by database(按数据库) ## 8.3 Queries by user(按用户) ## 8.4 Duration by user(按用户时长) ## 8.5 Queries by host(按主机) ## 8.6 Queries by application(按应用) ## 8.7 Number of cancelled queries(取消查询的数量) # 9. Top(排行) ## 9.1 Histogram of query times(查询时间柱图) ## 9.2 Slowest individual queries(最慢的独立查询) ## 9.3 Time consuming queries (N)(最耗时的查询) ## 9.4 Most frequent queries (N)(最频繁的查询) ## 9.5 Normalized slowest queries (N)(最慢的归一化查询) ## 9.6 Time consuming prepare(最耗时的预备查询) ## 9.7 Time consuming bind(最耗时的绑定查询) # 10. Events(事件) ## 10.1 Log levels(日志级别) 关键值: * Log entries:日志条数。 绘图指标: LOGS PER TYPE:每种日志条数。饼图,每种类型日志占比。 ## 10.2 Events distribution(事件分布) 关键值: * PANIC entries:PANIC条数。 * FATAL entries:FATAL条数。 * ERROR entries:ERROR条数。 * WARNING entries:WARNING条数。 绘图指标: ERRORS PER 5 MINUTES:每5分钟的错误数统计图。 ## 10.3 Most Frequent Errors/Events(最频繁的错误/事件) 关键值: * Max number of times the same event was reported:同一事件报告的最大次数。 * Total events found:总事件数。 注意:数据库的启停属于“事件”,表格中的“Error”应该修改为“Error/Event”。 # 11. pgBouncer(pgBouncer连接池) 有关pgBouncer连接池的统计信息。 # 12. Global information(全局信息) * Generated on:生成本报告的时间。 * Log file:日志文件。 * Parsed XXX log entries in YYY:解析XXX条日志,用时YYY。 * Log start from XXX to YYY:日志时间区间。