OB性能测试不稳定

【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】Server version: 5.6.25 OceanBase_CE 4.3.5.0 (r100000202024123117-5d6cb5cbc3f7c1ab6eb22e40abec8e160a8764d5) (Built Dec 31 2024 17:35:01)

【问题描述】清晰明确描述问题
使用ocp部署了一套集群进行测试,observer是3台物理机(1-1-1模式),还有另外一台是obproxy,新建了一个测试租户是obtest100,3个副本的配置是zone1 : 32c , zone2 : 6c , zone3 : 6c ,优先级是zone1;zone2,zone3

使用sysbench测试,发现tps不稳定,100个并发,刚开始跑,tps能到10000,大概过了300秒,tps降到8000多,再过大约100秒,tps降低至6000多,最后到5000左右,cpu的负载一直是比较高的,90%左右

sysbench测试命令如下:
sysbench --db-driver=mysql /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.40.201 --mysql-port=2883 --mysql-user=u_sysbench@obtest100#myob3 --mysql-db=sbtest --mysql-password=123456 --oltp-test-mode=complex --oltp-tables-count=8 --oltp-table-size=1000000 --threads=100 --time=6000 --report-interval=2 run

请问这样正常么

【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

2 个赞

推荐使用 obdiag 工具进行日志采集,并且将采集到的日志提供给我们以便确认问题所在。

日志采集场景: CPU高
日志采集命令: obdiag gather scene run --scene=observer.cpu_high

为了更好地帮助您分析和解决问题,建议您按照以下步骤操作:

  1. 执行上述obdiag命令进行日志采集。该命令会收集与CPU高负载相关的诊断信息,包括系统资源使用情况、SQL执行情况等。
  2. 将采集到的日志压缩包提供给我们,以便我们进一步分析。

另外,为了确定具体的问题,在此需要您提供一些信息:

  1. 请提供sysbench测试的具体配置参数,例如线程数、表大小等。
  2. 在TPS下降期间,是否有其他异常现象发生,如磁盘I/O升高或内存使用率突增?
  3. 是否对OceanBase集群进行了任何配置更改或软件更新?
  4. 请确认是否启用了自动合并功能,以及合并的频率和时间安排。
  5. 请提供OCP平台上的告警信息或者最近的操作记录。

附上敏捷诊断工具 obdiag 使用帮助链接

4 个赞

:+1: :+1: :+1:

2 个赞

可能是数据频繁发生插入更新变化导致。
可以从GV$OB_SQL_AUDIT 中,根据 SQL 执行耗时(elapsed_time)筛出tps高和低时候的 TOP10的sql。进行对比。查看两者的实际返回行数是否存在差异

3 个赞

用敏捷诊断工具obdiag 巡检一下,执行 sysbench 时的巡检任务集合
obdiag check run --cases=sysbench_run

https://www.oceanbase.com/docs/common-obdiag-cn-1000000002200479

3 个赞

我复现了这个情况, 结合之前的case分析结论是 冻结、转储、合并一定程度上会导致tps抖动,冻结转储时tps可能会下降20%左右,32c64g的租户,转储时tps可能下降10%

,特别是小规格时影响较明显,主要是后台冻结、转储、合并线程占用了较多cpu,导致业务线程的cpu资源大幅降低,因此tps也大幅下降,机器规格越大,受冻结、转储、合并影响越小

可以降低cpu使用率或者扩大规格再测试看下

2 个赞

总结到位,