记一次 tikv-client 性能分析: tso 单点问题

记一次 tikv-client 性能分析: tso 单点问题

💡 原文中文,约6100字,阅读约需15分钟。
📝

内容提要

本文讨论了使用tikv-client构建元数据服务时遇到的性能问题,分析了单点延迟和tso获取延迟较大的问题,并提出了解决方案,包括扩容tikv-client实例、升级版本、调整配置等。同时,还提到了关于tikv和pd的性能优化建议。

🎯

关键要点

  • 项目使用tikv作为分布式KV引擎构建元数据服务,随着业务增长,P99延迟急剧升高。

  • tikv-client的性能瓶颈分析显示,扩容tikv-client实例能显著提升系统吞吐和延迟。

  • tikv的分布式事务需要server和client紧密配合,tikv-client有较重的事务处理逻辑。

  • tso获取延迟与用户读写延迟关联度大,tso请求的串行处理导致性能瓶颈。

  • pd-client的tso请求存在单点性能问题,扩容后瓶颈得到缓解。

  • 建议升级tikv-client版本,开启tikv-client和pd-client的metrics以监控性能。

  • 确认async_commit的实际运行情况,使用txn的优先级接口进行优化。

  • tikv和pd的性能优化建议包括扩容、升级版本和调整配置。

延伸问答

tikv-client 性能瓶颈的主要原因是什么?

tikv-client 性能瓶颈主要是由于 tso 请求的串行处理导致的,特别是在高并发情况下,tso 获取延迟显著增加。

如何解决 tikv-client 的性能问题?

可以通过扩容 tikv-client 实例、升级版本和调整配置来解决性能问题。

tso 获取延迟与用户读写延迟有什么关系?

tso 获取延迟与用户读写延迟密切相关,tso 请求的串行处理会导致用户读写延迟增加。

tikv-client 的事务处理逻辑有什么特点?

tikv-client 的事务处理逻辑较重,需要与 tikv server 紧密配合,涉及多个 kv 操作的处理。

pd-client 的 tso 请求存在什么性能问题?

pd-client 的 tso 请求存在单点性能问题,主要是由于请求的串行处理导致的瓶颈。

如何监控 tikv-client 的性能?

可以通过开启 tikv-client 和 pd-client 的 metrics 来监控性能,获取详细的性能指标。

🏷️

标签

➡️

继续阅读