为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
-
【TiDB 版本】:3.0
-
【问题描述】:我们现在从阿里云的rds迁移到自建的tidb中,测试了7亿数据的表,读性能有明显的提升,但是写性能不如rds,比rds慢20%,请问该如何优化?
比如:写数据,数据写到一个副本的leader算是写完成还是同步到其他的follow上后,算是写完成?这个是不是也是可以配置?
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【TiDB 版本】:3.0
【问题描述】:我们现在从阿里云的rds迁移到自建的tidb中,测试了7亿数据的表,读性能有明显的提升,但是写性能不如rds,比rds慢20%,请问该如何优化?
比如:写数据,数据写到一个副本的leader算是写完成还是同步到其他的follow上后,算是写完成?这个是不是也是可以配置?
您好,由于使用的 raft 协议,写入过程中需要多副本成功才返回,以3副本举例,需要2个节点写入成功,才能返回,那么这里就要经过一次leader到follower的网络同步, 和单节点的rds比,肯定rds要快。
tidb可以设置为写入到leader之后直接返回成功吗?谢谢
不可以,这样就没有高可用了,如果leader节点出问题,就会丢数据。
有可能有啥优化写的方式吗?
在没有达到资源瓶颈得情况下,调整region大小,对写入有影响吗?
关系不大,本身就不会有 rds 那么快,毕竟是单机,除非你使用1个副本,不要高可用,损坏就丢失数据,可以试下,那就和单机一样了
我们是3台kv,kv01的gc worker cpu 到了100%,这个可以怎么优化下呢?其他的没有kv是0%
如果删除的数据比较多, gc 比较高,达到了 100%, 如果没有明显其他问题,duration 降低之类的,暂时可以忽略
您好,在这种强一致的副本同步模式下,后续咱们有读分发到其他副本上执行的计划嘛,写还是在主region上,这样对并发较高的系统性能会不会有提升