对于国产和开源数据库来说,运维是一个难点,由于原厂的服务能力与Oracle、DB2等国外大厂有着不小的差距,第三方服务就更缺乏了。如果要自己运维,那么就需要涉及工具的问题。最新的瀚高highgo 6.0数据库是基于Postgresql 12.3核心的,从性能与稳定性来说,都有着不错的表现。最近D-SMART大师问诊工具也在做highgo 6.0的适配,于是老白也跟着玩了玩highgo。昨天同事海军发现了一个类似ORACLE AWR的性能分析报告插件:highgo PDR,于是生成了一份报告。今天我们就这这份报告来看看PDR到底对DBA的运维有多大帮助。
看这个报告头是不是ORACLE DBA都感到十分亲切。实际上以前的华为gaussdb 100 1.0.1版本、达梦数据库也带有一个类似AWR的报告,不过达梦和高斯的报告还是过于简单了。我们来看看highgo 6.0的PDR能不能给大家带来一些惊喜。
Load Profile是我们分析Oracle数据库的负载必看的内容,从PDR的LOAD PROFILE上,PG核心的一些主要负载信息还是比较完整的,从这些数据上,完全是可以类似oracle一样去评估负载的。不过在Load Profile里明显少了一些东西。我们来对比一下Oracle的Load Profile:
在Load Profile中缺少了wal大小,逻辑读,物理读,IO大小等十分重要的信息。实际上,这些数据,在highgo中是能够采集的到的:
上面的表格里是D-SMART里目前已经采集到的highgo关键指标,如果能在load profile里加入这些指标就更好了。第二个有价值的数据就是TOP 10 前台EVENT:
因为我们还没给数据库加压,所以目前的报告里的等待事件数量并不多,不知道加压后会如何。能够在FDR报告里看到等待事件的情况,对于曾经的Oracle DBA来说就太贴心了。不过这里看不到平均等待时间,有点美中不足。不过除了Oracle外,还很少数据库能够把等待事件的等待时间统计的比较完美的,因为这种统计算法十分难写,搞得不好会影响数据库的性能与稳定性。下面是锁的情况分析。PostgreSQL有三种锁,spinlock,lwlock和lock。spinlock是保护内存结构用的(和Oraclelatch类似),采用硬件和操作系统提供的test and set原子操作来实现;LWLock是一种基于spinlock机制实现的轻量级的锁,有互斥、共享、WAIT UNTIL FREE三种锁模式;LOCK是和Oracle enqueue类似的普通锁,用于操作postgresql中的数据对象的。
上面的LWLOCK等待分析是类似于闩锁分析的,实际上对于Mysql,Pg这类数据库运维中,遇到问题最多的地方还是锁和并发,这一节对于DBA来说十分有用。从中可以看出PostgreSQL数据库中的一些内部机制运行是否正常。不过遗憾的是,仍然没有平均等待时间的数据。
紧接着就是LOCK的等待情况,从中可以分析PG的锁的争用情况,从而用于优化PG配置与应用程序。
BufferPin wait状态可以用于辅助分析热块争用与缓冲池的效率。
上面三个等待状态,客户端等待状态可以用于分析客户端或者应用的性能与负载情况,extension等待可以用于分析数据文件的扩展情况。IPC WAIT可以用于分析数据库中的进程间通讯是否正常。
IO wait可以用于分析数据库中的IO情况,不过遗憾的是仍然没有平均等待时间的数据,这一点对于D-SMART也是难点。接下来是实例状态的数据,遗憾的也是只有总市场,没有次数,所以也无法了解每秒发生了多少次,只能统计成每分钟多少秒这样的数据,才能用于对照。
因为报告的跨度可能会不同,因此建议对于这种值,增加一列,就是平均一分钟产生了多少秒的活动,这样时间长了,就可以形成一些基线,便于DBA判断活动的大小或者是否正常。
实际上PG的TOP SQL维度和Oracle差别比较大,PDR报告里把这些归类为和Oracle类似的维度,也是比较贴心的。
针对HIGHGO,D-SMART里提供了5类TOP SQL,还少了一类,看样子后续D-SMART要补上这一类TOP SQL了。
TOP SQL的展示风格和Oracle AWR保持一致,看起来不费劲。
highgo的IOSTAT做的不错,还是比较实用的。唯一不足的是没有把WAL和归档的IO情况整合进来,如果有这些数据就更完美了。
最后一节是TOP SEGMENT,不过内容只有逻辑读,物理读和表扫描的。如果能加入锁,热块的内容就更完美了。由于没有加压,所以这份PDR报告只是一个样板,没法做深入的分析。不过这样一份报告对于DBA了解数据库的运行状况,还是有很高的价值的。我想瀚高今后会把这份报告做的越来越好。如果瀚高能把这份报告的插件开放出来,让其他PG数据库使用那就更好了。
最后修改时间:2020-12-25 09:28:18
文章转载自
白鳝的洞穴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。