TIKV client 报错

依赖于go 的client,将PD3+TIKV3+TIDB*3分别部署在三个节点上,执行的代码就是RAWKV和TXNKV的client示例demo https://tikv.org/docs/dev/reference/clients/go/,只不过在外层包装了一个生产消费者队列去循环下发PUT-GET-DELETE命令。

在RAWKV的测试中出现错误
INFO[0023] drop regions that on the store 4(20.20.3.75:20160) due to send request fail, err: rpc error: code = Unavailable desc = connection error: desc = “transport: Error while dialing dial tcp 20.20.3.75:20160: connect: cannot assign requested address”

在TXNKV的测试中出现错误
[2021/01/14 11:18:51.727 +08:00] [ERROR] [client.go:237] [“tso request is canceled due to timeout”] [dc-location=global] [error="[PD:client:ErrClientGetTSOTimeout]get TSO timeout"] [stack=“github.com/tikv/pd/client.(*client).watchTSDeadline.func1\ \t/root/go/pkg/mod/github.com/tikv/pd@v1.1.0-beta.0.20201113054545-cbbb7946a0d4/client/client.go:237”]

此外。txn的性能很差 ops看起来很低

  1. TikV 是什么版本的?
  2. RAW API 测试和 TXN API 测试是在同一套集群上么,这个是不建议在一个集群上同时使用 RAW API 和 TXN API 操作数据的,会有不可控的问题
  3. 如果需要分析性能问题的话,可以提供一下监控的数据
    https://metricstool.pingcap.com/
  1. 通过tiup部署的集群
    tiup cluster list
    Starting component cluster: /root/.tiup/components/cluster/v1.3.1/tiup-cluster list
    Name User Version Path PrivateKey

tidb-test tidb v4.0.0 /root/.tiup/storage/cluster/clusters/tidb-test /root/.tiup/storage/cluster/clusters/tidb-test/ssh/id_rsa

  1. 是在一套集群中,但是不是同时在测试,是先测试的TXNKV再测试的RAWKV,这样也不行吗?

3.监控数据导出是一个json,是这样吗?
文档我发到云盘了,这边传不上来
https://space.dingtalk.com/s/gwHOApXOdALOddIdOAPaACA4MjkyNTZmYmI5Yzc0NjRhYTQxNDg5Zjk0MGQ2MTlhNA 密码: BnKC

先测是 TXN 后测试 RAW 也会有问题的
测试完一种类型的测试之后,重新部署一下集群进行测试

谢谢,重新部署了集群,看起来性能还是很一般,用的nvme的盘,看起来磁盘压力已经跑满,但是Write operations的ops max只有54.
而且还是会出现WARN[0058] get timestamp too slow: 235.40136ms 这种提示
[2021/01/14 20:14:55.188 +08:00] [ERROR] [client.go:237] [“tso request is canceled due to timeout”] [dc-location=global] [error="[PD:client:ErrClientGetTSOTimeout]get TSO timeout"] [stack=“github.com/tikv/pd/client.(*client).watchTSDeadline.func1\ \t/root/go/pkg/mod/github.com/tikv/pd@v1.1.0-beta.0.20201113054545-cbbb7946a0d4/client/client.go:237”]

这个错误也仍然存在,现在的环境是PD和TIKV TIDB都在一块盘上

PD:client:ErrClientGetTSOTimeout 这个错误是获取 TSO 超时报错
可以检查一下 PD leader 节点的状态以及负载情况,以及 client 与 PD 之间的网络情况和各个组件之间的网络情况
另外可以看下 PD leader 的日志有没有什么信息

性能问题的话,可能是受这个获取 tso 慢的影响,另外就是看到盘的负载的确比较高,可以使用 tiup cluster check 命令检查一下磁盘性能

谢谢,我这边通过sysbench的方式测出来的性能就很好,估计是接口调用的方式不对

感谢反馈 ~

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