logo资料库

PostgreSQL性能分析和诊断报告.pdf

第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
资料共20页,剩余部分请下载后查看
PostgreSQL性能分 析和诊断报告 李鹏 瀚高基础软件股份有限公司
PG官方的分析手段 • 使用Unix工具(ps,sar,iostat,iotop等) • PG的统计收集器(pg_stat*等系统视图/表) • 查看锁(pg_locks) • 进程报告(pg_stat_get_progress_info,vacuum,9.6) • Dtrace(SystemTap) • 磁盘使用状况(pg_total_relation_size,pg_tablespace_size)
PG中统计相关的开关 • • • • • • 语句执行时间 log_duration log_lock_waits(deadlock_timeout) log_statement log_min_duration_statement track_activities( track_counts, track_io_timing, track_functions ) log_checkpoints, log_connections, log_disconnections 记录SQL语句 锁等待超时 慢SQL 统计收集器选项 检查点,用户连接
现有分析手段的不足 • 缺少时间维度 • 缺少SQL执行时的统计信息 • 缺少等待事件 • 查找不便 • 影响性能
PG-PDR Performance Diagnosis Report 轻量级 信息丰富 不依赖特 定内核 报表美 观易读 时间模 型统计 高性能 仅依赖一个插件, 无需web服务器 全方位收集信息, 涵盖多个维度 无需修改内核,无 需特定PG版本 HTML格式报表, 信息分类清晰 回溯任意时间段的 统计信息 内存IO代替磁盘 IO,对PG影响小
PG统计信息解读-两种统计信息 无法重置 可重置
PgStat工作原理 • 多个进程通过UDP向PgStat发 送信息。 • 接收到信息后,PgStat将其更 新到内存。并定时刷新到磁盘。 • PgStat收到INQUIRY请求时, 将当前的统计信息发送给请求者。
PgStat信息的获取 • 一个巨大的hash表存放所有数据。 • 每个数据库的节点又包含table信息的hash表。 • 通过pg_stat*视图访问。内容包括io信息,数据 分布信息,事务信息,后台活动状况,函数执行 信息等。 • 从内存中直接读取这部分信息。 164 x 500000 = 78.2 Mb READ: 78.2 x 2 = 156.4 Mb/s WRITE :78.2 x 2 = 156.4 Mb/s I/O:312.8 Mb/s
分享到:
收藏