跳转到主要内容

etcd v2.2.0 基准测试

etcd 2.2.0 的性能指标

物理机

GCE n1-highcpu-2 机器类型

  • 1 块专用本地 SSD,挂载为 etcd 数据目录
  • 1 块专用慢速磁盘,用于操作系统
  • 1.8 GB 内存
  • 2 个 CPU

etcd 集群

3 etcd 2.2.0 成员,每个成员运行在单台机器上。

详细版本:

etcd Version: 2.2.0
Git SHA: e4561dd
Go Version: go1.5
Go OS/Arch: linux/amd64

测试

在 etcd 集群外部引导另一台机器,并运行 hey HTTP 基准测试工具 (含连接复用补丁),向每个 etcd 集群成员发送请求。请参阅 基准测试说明 获取补丁及复现我们操作步骤的详细信息。

性能通过 100 次基准测试结果计算得出。

性能

单键读取性能

键大小(字节)客户端数量目标 etcd 服务器平均读取 QPS读取 QPS 标准差平均 90th 百分位延迟(毫秒)延迟标准差
641仅领导者23032000.490.06
6464仅领导者150486857.600.46
64256仅领导者1450843429.761.05
2561仅领导者21622140.520.06
25664仅领导者147897927.690.48
256256仅领导者1442451229.921.42
6464所有服务器4575220482.470.14
64256所有服务器46592127310.140.59
25664所有服务器4533218472.480.12
256256所有服务器46485134010.180.74

单键写入性能

键大小(字节)客户端数量目标 etcd 服务器平均写入 QPS写入 QPS 标准差平均 90th 百分位延迟(毫秒)延迟标准差
641仅领导者55424.5113.26
6464仅领导者213912535.233.40
64256仅领导者458158170.5310.22
2561仅领导者56422.374.33
25664仅领导者205215136.834.20
256256仅领导者444256071.5910.03
6464所有服务器16258558.515.14
64256所有服务器446129889.4736.48
25664所有服务器15999460.116.43
256256所有服务器431519388.987.01

性能变化

  • 由于 etcd 现在会记录每个 API 调用的指标,大多数场景下读取 QPS 性能似乎出现轻微下降。这种极小的性能影响被认为是对所返回监控与调试信息广度的合理投入。

  • 写入 QPS 到集群领导者似乎略有增加。这是因为 etcd Raft 逻辑中主循环与条目应用循环已解耦,消除了两者之间的多个阻塞点。

  • 写入 QPS 向所有成员显著增加,因为跟随者现在能更早接收到最新的提交索引,从而更快地提交提案。