理解Etcd性能

image-1667816915459

性能影响点

Raft层

  • 网络IO,节点之间的RTT/带宽
  • WAL受到到磁盘IO写入延迟影响

Storage层

  • 磁盘IO fdatasync延迟
  • 索引层锁的block
  • boltdb Tx的锁
  • boltdb本身的性能

其他

  • 内核参数
  • grpc api层延迟

性能优化

server优化

硬件部署

  • 升级cpu、mem
  • 使用性能优秀的ssd
  • 网络带宽优先级
  • 独占部署,减少其它程序的运行时干扰

软件

  • 内存索引层:提升etcd内存索引性能,优化内部锁的使用减少等待时间
  • lease规模使用:优化lease revoke和过期失效的算法,解决了lease规模性的问题
  • 后端boltdb使用优化:后端batch size limit/interval都可以配置,可根据不同的硬件和工作负载配置(以前是保守值)

client优化

  • put时避免大value,需要精简数据
  • 避免创建频繁变化的key/value
  • 避免创建大量lease,尽量选择复用

星霜荏苒 居诸不息