文档版本 v3.7-DRAFT 处于 草稿 状态。如需获取最新的稳定版文档,请参阅 v3.6。
etcd v2.2.0-rc-memory 基准测试
etcd v2.2.0-rc-memory 的性能指标
物理机
GCE n1-standard-2 机器类型
- 1x 专用本地 SSD 挂载在 /var/lib/etcd 下
- 1 块专用慢速磁盘用于操作系统
- 7.5 GB 内存
- 2 个 CPU
etcd
etcd Version: 2.2.0-rc.0+git
Git SHA: 103cb5c
Go Version: go1.5
Go OS/Arch: linux/amd64
测试
启动一个由 3 个成员组成的 etcd 集群,每个成员使用 2 个核心。
键名的长度始终为 64 字节,这是一个合理的平均键字节数。
内存最大使用量
- 如果一个跟随者失效并且领导者继续发送快照,etcd 可能会使用最大内存。
max RSS是在 3 次运行中记录的最大内存使用量。
| 值字节数 | 键数量 | 数据大小(MB) | 最大 RSS(MB) | 领导者的最大 RSS/数据比率 |
|---|---|---|---|---|
| 128 | 50000 | 6 | 433 | 72x |
| 128 | 100000 | 12 | 659 | 54x |
| 128 | 200000 | 24 | 1466 | 61x |
| 1024 | 50000 | 48 | 1253 | 26x |
| 1024 | 100000 | 96 | 2344 | 24x |
| 1024 | 200000 | 192 | 4361 | 22x |
数据大小阈值
- 当 etcd 达到数据大小阈值时,可能会频繁触发领导者选举并丢弃部分提案。
- 在大多数情况下,如果 etcd 集群没有达到阈值,应该能够平稳运行。如果由于资源不足而运行不佳,请减少其数据大小。
| 值字节数 | 键数量限制 | 建议的数据大小阈值(MB) | 消耗的 RSS(MB) |
|---|---|---|---|
| 128 | 400K | 48 | 2400 |
| 1024 | 300K | 292 | 6500 |