Тестування продуктивності etcd v2.2.0

Вимірювання продуктивності для etcd v2.2.0

Фізичні машини

Тип машини GCE n1-highcpu-2

  • 1x виділений локальний SSD, змонтований як каталог даних etcd
  • 1x виділений повільний диск для ОС
  • 1.8 ГБ памʼяті
  • 2x ЦП

Кластер 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 benchmark tool з патчем для повторного використання зʼєднань, щоб надсилати запити до кожного учасника кластера etcd. Дивіться інструкції з тестування для патча та кроків для відтворення наших процедур.

Продуктивність розраховується на основі результатів 100 раундів тестування.

Продуктивність

Продуктивність читання одного ключа

розмір ключа в байтахкількість клієнтівцільовий сервер etcdсередній QPS читанняstddev QPS читаннясередня 90-й процентиль затримки (мс)stddev затримки
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 записуstddev QPS записусередня 90-й процентиль затримки (мс)stddev затримки
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 запису до всіх учасників здається значно збільшеною, оскільки послідовники тепер отримують останній індекс коміту швидше і швидше застосовують пропозиції.