读写性能较低

【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】4.5.0
【问题描述】目前共使用了六台国产化信创服务器,配置为128C256G非ssd盘,使用社区版本搭建了一套集群模式为2-2-2,当前数据量历史存量数据为40亿左右,每日增量大概是千万级,数据表大概几百张,已经调整过内存分配等配置项,大概十分钟可以写入200万条左右,而且持续写入半小时会有磁盘io高的警告,这个写入效率还可以提升吗?没有设置分区

6 个赞

表不分区,写入只会在一个节点执行。半小时告警一次?是不是转储的时候?

3 个赞

是的,因为表数据没有太好的分区字段,分区后可能影响部分查询性能,所以没有做分区

2 个赞

磁盘io高的警告是OCP抛出的么。
磁盘使用的机械盘么,机械盘确实会有IO影响。租户的规格和优先级是什么样子的

2 个赞

没有配置zone优先级,是random默认的

1 个赞

这么大的并发写入要求,缓存控制是比较重要的吧

这是当前租户规格

业务场景是什么如果是批量写入改旁路导入效果应该很大。
数据盘与 Clog 分盘了么。有条件的话Clog 用 SSD

IO 告警时查询谁在占磁盘
SELECT function_name, sum(io_count), sum(io_time_us)
FROM oceanbase.GV$OB_FUNCTION_IO_STAT
GROUP BY function_name ORDER BY sum(io_time_us) DESC LIMIT 10;
是否合并积压

SELECT compaction_type, status, COUNT(*)
FROM oceanbase.GV$OB_COMPACTION_PROGRESS
GROUP BY compaction_type, status;

2 个赞

旁路导入可能不太行,除了全量数据外,每日增量大概在千万级,增删改查操作都会涉及,且每次入库都会存储记录日志,目前大概率是没有ssd盘可以使用了
数据盘和clog只是分了路径,其实都在一块盘上

业务写入方式是什么,insert … values还是类似kettle的etl工具

insert批量导入

集群业务量不小HDD磁盘都在一块盘上这种情况出现IO高属于正常现象了,最优先的方案应该是分盘尽量给clog一个SSD盘。

1 个赞

磁盘性能瓶颈在这,写入性能上不去有很大关系,如果是单一客户端写入数据,可以试着把租户的primary_zone改为zone1;zone2;zone3 ,有修改过表的格式吗,看你使用的版本,默认应该是堆表,可以查下表的DDL。

1 个赞

好的,我试一下,没有修改过表格式

1 个赞

机械硬盘相比SSD性能差距还是不小的。现在SSD也没多贵吧

2 个赞

支持一下

没有你ssd硬盘是硬伤

官方推荐使用SSD硬盘一定有他的道理

学到了。

学到了