【问题】OceanBase 集群性能远低于单机
【版本】 5.7.25-OceanBase_CE-v4.2.5.3
【压测】sysbench oltp 读写,单机TPS=15,集群TPS=11.09,集群延迟从12.49ms涨到1192.06ms,平均90.16ms,单库延迟从8.23ms涨到582.06ms,平均66.67ms。
【疑问】为什么集群性能差这么多?需要调整哪些参数?
【附图】
5 个赞
三节点集群和单机集群压测的租户规格一样大吗,检查下租户的primary_zone是不是指定优先级而不是random
1 个赞
按照发的文档 先优化一些参数
- 集群拓扑:几节点?是否跨 AZ?Sysbench 连的是 OBProxy 还是直连 OBServer?
- 租户配置:
SHOW CREATE TENANT输出 - 压测命令:完整 sysbench 命令
- 对比数据:单机 vs 集群的 TPS/QPS、测试场景(point_select / read_write 等)
- 资源使用:压测时
top中 observer CPU 利用率、是否有死锁记录
1 个赞
不用sys租户来跑,sys租户是集群内部管理的,要新建租户比如tpcc来测试,租户的primary_zone指定下,比如zone1;zone2;zone3。先保证控制变量跑一次对比,性能还不理想的话按照楼上的建议调整下
2 个赞
正常的
1 个赞
mark~~
集群和单机分不同情况和场景吧,有些场景是单机性能高,因为没有分布式事务的问题,但有些情况集群的性能会比较高一些,这个不能一概而论吧。
1、不能使用sys租户跑测试或者写业务数据,sys租户主要是用来做集群管理,并且sys租户数据不能复制做物理备库。
2、看是否设置primary zone ,如果没有配置primary zone 数据是打散分布在集群内的过个节点,会有分布式事务,性能可能要比单机低。
3、配置下优化参数,在测试下。
要分场景。其实大部分情况单机性能一般是由于分布式的
看看看看
适配分布式数据库除了调整参数之外,还要看场景




