ob出现性能问题,cpu冲高等情况,如何处理
2 个赞
当发现 OBServer 节点的 CPU 负载偏高已经达到了 80%- 90% 甚至以上,该 OBServer 节点已经发生了整体性能不佳甚至是 Hang 住的情况,可以通过 OBStack 工具(V2.2.3x 高配版本、V2.2.7x 以及 V3.x 版本均可独立安装)获取 OBStack 工具。可以执行以下命令直接执行 obstack 获取线程栈定向到问题 obstack.trc 中。
[root@hostname /]#obstack -p ${pid of observer} > obstack.trc
此外,您还可以根据以下步骤进行性能调优:
- 确定优化目标。
a. 吞吐量:主要关注 CPU 信息和组件瓶颈,目前 ODP 和 OceanBase 数据库都可以将 CPU 跑满。
b. 延迟:需要关注访问链路上组件数量和每一段耗时,网络延迟也是重要因素。
c. 经验:从全局考虑,越靠近业务侧优化效果可能更明显。 - 压力测试及信息采集:除了采集目标数据外,还需要采集每个组件的 CPU 消耗、网络延迟等数据。
- 分析压力确定性能瓶颈:通过上面采集的数据,先确定导致瓶颈点的组件,再继续细致分析。
- 实施优化:目前优化主要是调整参数、调整部署等,特殊情况需要修改代码发版本解决。
- 确认优化效果:主要关注延迟和吞吐量是否满足客户要求或测试成绩。
更多信息请查看:
1 个赞
也可以用Obdiag工具吧