PostgreSQL数据库排查脚本规划
来源:互联网 发布:网络打印被挂起 编辑:程序博客网 时间:2024/05/17 01:44
一、 排查经验总结
过去Sybase数据库问题的整体思路是从整体到局部,从宏观到微观的排查。
第一步,梳理数据库架构和应用部署情况,确定数据库上各个应用连接的情况。
第二步,排查数据库物理实体机器情况,确定系统负载、CPU使用率、内存交换、IO吞吐量、网络吞吐量情况
第三步,排查数据库服务配置情况,确定最大内存和各缓存配置,连接数、锁、最大对象数等重要参数的配置
第四步,排查热点对象及其缓存使用情况
第五步,排查慢SQL和占用CPU高的SQL及全表扫描SQL
第六步,排查锁阻塞和死锁
二、Sybase监控体系总结
在Sybase时代,使用系统存储过程、系统表、MDA表、及慢SQL分析相结合方式排查分析数据库问题。
存储过程:
- sp_sysmon sybase各方面的系统监控报告
- sp_monitorconfig sybase配置参数报告
- sp_reportstats sybase各用户资源使用报告
- sp_lock 查看锁
- sp_who 查看连接情况
- sp_dba 系列自定义监控存储过程(超大表、锁阻塞、缺失索引、设备空间等)
系统表:
- sysprocesses 数据库连接情况
- syslocks 数据库锁情况
- sysqueryplans 执行计划情况
- sysobjects 数据库对象情况
MDA表:
- monOpenObjectActivity 监控数据库对象(表、索引)使用情况
- monProcessStatement 进程正在占用系统资源情况(CPU)
- monProcessSQLText 进程正在执行的SQL语句
SQLFX平台:
- 分析慢SQL
- 分析不符合标准的SQL
- 分析SQL分布及压力
三、PostgreSQL监控体系现状
PostgreSQL数据库提供了系统表和监控表用来检测数据库的运行,通过监控参数控制是否收集监控信息,监控表分为动态和历史统计。
系统表:
- pg_class
- pg_locks
- pg_stats
- 等等
监控表:
动态监控
- pg_stat_activity
- pg_stat_repliccation
- pg_stat_ssl
- 等等
历史统计
- pg_stat_all_tables
- pg_stat_user_tables
- pg_stat_sys_tables
- 等等
四、PostgreSQL监控脚本规划
ABase数据库监控脚本的规划思路是补充、改造、和简化。
补充
通过数据库服务端语言,收集监控操作系统层面各服务进程的CPU利用率、当前的IO使用率、任务切换等改造
主题思想,动态试图历史化,历史视图动态化。
比如pg_stat_activity 能看到当前的连接情况和SQL,单不能查看历史某个时段的连接情况和SQL。pg_stat_all_tables能看到表的累积访问情况和IO,但是不能方便看到几分钟内的访问情况和IO简化
通过输入简单的方法名或者查询简单的视图能够快速查看监控信息,不用输入复杂的SQL
规划ABase监控脚本分类:
连接情况
pg_stat_all_activity 历史的连接情况
pg_stat_longtime_sql 长时间运行的SQL情况
pg_stat_seqscan_sql 全表扫描的SQL情况系统负载情况(pid,cpu,io,task switch)
pg_stat_all_sysload 历史负载
pg_stat_current_sysload 当前负载热点对象及缓存情况
pg_stat_hotobject
pg_stat_cacheobject锁阻塞情况
pg_stat_lockblock空间情况
pg_stat_objectsize
- PostgreSQL数据库排查脚本规划
- Postgresql数据库脚本性能优化纪要
- postgresql转mysql生成数据库脚本
- PostgreSQL数据库动态函数脚本编写注意事项
- 查看PostgreSQL数据库中的锁等待--脚本
- Windows网络故障排查脚本
- 攻击排查脚本
- 使用postgreSQL DataSync 进行pg数据库升级 数据同步 升级脚本生成, postgreSQL DataSync简单教程
- PostgreSQL数据库
- PostgreSQL数据库
- 数据库问题排查总结
- sequoiadb数据库问题排查
- 数据库应用排查优化
- 使用postgreSQL命令行工具在shell脚本中自动执行数据库脚本
- 使用postgreSQL命令行工具在shell脚本中自动执行数据库脚本
- jvm排查问题常用命令脚本
- PostgreSQL的备份脚本
- postgreSQL 自动备份脚本
- coursera Stanford Machine Learning Week5 Ex4机器学习 实验4
- 更改的资料
- 磁芯存储器简介------顺便说说core dump的core是什么含义
- 打印机模拟(彩色篇)
- 【金融财经】金融市场一周简报(2017-09-22)
- PostgreSQL数据库排查脚本规划
- 【LeetCode算法练习(C++)】Integer to Roman
- 目录:已完成
- (转)Android:你要的WebView与 JS 交互方式 都在这里了
- unbuntu下R包安装报错问题
- UVA 10452 Marcus
- HTML中的标签系列-01-简单标签
- c3p0问题java.lang.NoClassDefFoundError:com.mchange.v2.ser.Indirector的解决方法
- Java的基础