tikv 三台机器,压测写入数据时只有一台机器负载比较高,其他两台处于空闲

但源码中,set数据就是需要字节,即使我用随机的int类型的值来充当还是需要转换为字节:

这个没影响吧,转换成字节也是随机的。

嗯好,那我试试将uuid生成的字符串转换成二进制的重新压测,看看还会不会出现热点数据

1 个赞


确实可行,看grafana监控的话,三台tikv没有出现之前数据热点的问题

:+1::+1::+1:这篇文档写的比较详细了,可以参考参考
https://docs.pingcap.com/zh/tidb/stable/high-concurrency-best-practices#热点问题产生的原因

1 个赞

压测期间出现大量的创建事务报错,是因为tikv承受不住那么多请求嘛?


下面是我的压测程序代码块:

你用自增的聚簇表,一般不会有明显热点,写入性能比较好

是不是热点region引起,如果是主键引起,如下方法可以测试一下:
AUTO_INCREMENT 改为 AUTO_RANDOM ,插入数据时让 TiDB 自动为整型主键列分配一个值,消除行 ID 的连续性,从而达到打散热点的目的。

单独的 rawkv 不是正常用法,不符合主流,所以大家都没有相关的使用经验,很容易不知道怎么样解决。建议安装上 TiDB 组件,按照一个正常的 TiDB 集群来维护!

1 个赞

贴上报这些错误时tikv节点的监控情况,比如节点的资源使用、事务提交相关的监控面板灯,光看上面的日志分析不出啥来

1 个赞

感觉是热region造成的,调整下呢

上生产前,压测了吗

产生了热点region

grafana 图表就是好看

uuid转二进制就是为了获取数值吧,直接用雪花算法就可以直接得到单调递增的一串数值了

1 个赞

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。