openGauss数据库性能CPU过高常见处理方法有哪些?

openGauss数据库性能CPU过高常见处理方法有哪些?,第1张

官网有相关的一些基础应对思路:

通过openGauss提供的检查数据库性能性能统计工具gs_checkperf进行查看,对应语法:gs_checkperf -i pmk -U (-i:指定检查项编号,-i参数值不区分大小写。格式:-i PMK、-i SSD; - U: 运行的用户名称)

如下可参考(常规 *** 作,比较基础, 建议具体情况具体分析):

1、主机CPU占有率高

1)更换和增加高性能的CPU。

2)使用top命令查看系统哪些进程的CPU占有率高,然后使用kill命令关闭没有使用的进程。

2、openGauss 节点CPU占有率高:

1)更换和增加高性能的CPU。

2)使用top命令查看数据库哪些进程的CPU占有率高,然后使用kill命令关闭没有使用的进程。

3)使用gs_expand工具扩容,增加新的主机均衡CPU占有率。

3、会话/进程中,CPU、内存、I/O使用率过高:

查看哪个进程占用CPU/内存高或I/O使用率高,若是无用的进程,则kill掉,否则排查具体原因。例如SQL执行占用内存大,查看是否SQL语句需要优化。

……

这种问题要回答好要求知识比较全面。

1 从 *** 作系统层次上看

看CPU 内存 swqp(交换分区)等使用率

2 从磁盘上看

主要看磁盘读写。可以用dd测磁盘读写的速度 也可以在业务高峰期检测磁盘的速率。

3 从数据库本身来看。

先要看数据库各个参数的值 。 如sga的大小,process的大小,redo日志的个数与大小等这些关系到性能的参数是否设置合理。

长期观察的方式就是看各个时期的AWR报告。里面有各种性能指标,以及按执行时间或资源排列的sql ,以及各种等待时间的排名。从这里面可以掌握数据库的长期的性能变化。

即时观察的方式就是利用各种sql 查询 数据库在当前时间的各个性能指标(AWR报告里面的各种指标也都是通过sql查询出来的)

还有对数据库整体的一个检查:

如 表的大小,表是否需要分区而没有分区,索引是否创建,索引是否失效,开发人员写的sql是否正确使用到了索引,频繁使用的sql是否有绑定变量,有频繁大批量增删改的表是否存在高水位。。。

额 总之,这个话题涉及的知识非常多,尽可能多的学习一些东西,祝你好运。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9996126.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存