↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

etcd 3.7

etcd v2.2.0-rc 基准测试

etcd 3.7 开发、运维、升级、API 与内部原理中文指南

物理机

GCE n1-highcpu-2 机器类型

  • 1 个专用本地 SSD,挂载于 /var/lib/etcd
  • 1 个专用慢速磁盘,用于操作系统
  • 1.8 GB 内存
  • 2 个 CPU

etcd 集群

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

详细版本:

etcd Version: 2.2.0-alpha.1+git
Git SHA: 59a5a7e
Go Version: go1.4.2
Go OS/Arch: linux/amd64

此外,我们使用 3 个 etcd 2.1.0 alpha 阶段成员组成集群以获取基准性能。etcd 的提交头位于 c7146bd5 ,与 etcd 2.1 基准测试 中所用版本相同。

测试

引导另一台机器,并使用 hey HTTP 压力测试工具 向每个 etcd 成员发送请求。请参阅 基准测试黑客指南 以获取详细操作说明。

性能

读取单一键

键大小(字节) 客户端数量 目标 etcd 服务器 读取 QPS 第 90 百分位延迟(毫秒)
64 1 仅领导者 2804 (-5%) 0.4 (+0%)
64 64 仅领导者 17816 (+0%) 5.7 (-6%)
64 256 仅领导者 18667 (-6%) 20.4 (+2%)
256 1 仅领导者 2181 (-15%) 0.5 (+25%)
256 64 仅领导者 17435 (-7%) 6.0 (+9%)
256 256 仅领导者 18180 (-8%) 21.3 (+3%)
64 64 所有服务器 46965 (-4%) 2.1 (+0%)
64 256 所有服务器 55286 (-6%) 7.4 (+6%)
256 64 所有服务器 46603 (-6%) 2.1 (+5%)
256 256 所有服务器 55291 (-6%) 7.3 (+4%)

编写一个键

键大小(字节) 客户端数量 目标 etcd 服务器 写入 QPS 第 90 百分位延迟(毫秒)
64 1 仅领导者 76(+22%) 19.4(-15%)
64 64 仅领导者 2461(+45%) 31.8(-32%)
64 256 仅领导者 4275(+1%) 69.6(-10%)
256 1 仅领导者 64(+20%) 16.7(-30%)
256 64 仅领导者 2385(+30%) 31.5(-19%)
256 256 仅领导者 4353(-3%) 74.0(+9%)
64 64 所有服务器 2005(+81%) 49.8(-55%)
64 256 所有服务器 4868(+35%) 81.5(-40%)
256 64 所有服务器 1925(+72%) 47.7(-59%)
256 256 所有服务器 4975(+36%) 70.3(-36%)

性能变化说明

  • 在大多数场景下,读取 QPS 下降了 5%~8%。原因是 etcd 会为每次存储操作记录存储指标。这些指标对监控和调试至关重要,因此该情况可接受。

  • 写入 QPS 到领导者提升了 20%~30%。这是因为我们将 Raft 主循环与条目应用循环解耦,避免了两者相互阻塞。

  • 所有服务器的写入 QPS 提升了 30% 至 80%,因为跟随者可更早接收到最新的提交索引,从而更快地提交提案。

来源与许可

文档取自 pig.center · 上游文档

版本
3.7
许可
CC-BY-4.0
来源修订
dba8dc7e1afd3f6eea300ebf9ecb67c731145f1ee7db1ca0d3ebc49508812609
译文修订
dba8dc7e1afd3f6eea300ebf9ecb67c731145f1ee7db1ca0d3ebc49508812609
原始 Markdown