Aller au contenu

Benchmarking d'etcd v2.2.0

Mesures de performance pour etcd v2.2.0

Machines physiques

Type de machine GCE n1-highcpu-2

  • 1 disque SSD local dédié monté en répertoire de données etcd
  • 1 disque lent dédié pour le système d’exploitation
  • 1,8 Go de mémoire
  • 2 processeurs

etcd cluster

3 membres etcd 2.2.0, chacun exécuté sur une machine unique.

Versions détaillées :

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

Test

Initialisez une autre machine, en dehors du cluster etcd, puis exécutez l’outil de benchmark HTTP hey avec un correctif de réutilisation de connexion pour envoyer des requêtes à chaque membre du cluster etcd. Consultez les instructions de benchmark pour obtenir le correctif et les étapes permettant de reproduire nos procédures.

Les performances sont calculées à partir des résultats de 100 itérations de benchmark.

Performances

Performance de lecture d’une clé unique

taille de la clé en octetsnombre de clientsserveur etcd cibledébit moyen de lecture (QPS)écart-type du débit de lecture (QPS)latence moyenne au 90e percentile (ms)écart-type de la latence
641seul leader23032000,490,06
6464seul leader150486857,600,46
64256seul leader1450843429,761,05
2561seul leader21622140,520,06
25664seul leader147897927,690,48
256256seul leader1442451229,921,42
6464tous les serveurs4575220482,470,14
64256tous les serveurs46592127310,140,59
25664tous les serveurs4533218472,480,12
256256tous les serveurs46485134010,180,74

Performance d’écriture pour une clé unique

taille de la clé en octetsnombre de clientsserveur etcd cibledébit moyen d’écriture QPSécart-type du débit d’écriture QPSlatence moyenne au 90e percentile (ms)écart-type de la latence
641leader uniquement55424,5113,26
6464leader uniquement213912535,233,40
64256leader uniquement458158170,5310,22
2561leader uniquement56422,374,33
25664leader uniquement205215136,834,20
256256leader uniquement444256071,5910,03
6464tous les serveurs16258558,515,14
64256tous les serveurs446129889,4736,48
25664tous les serveurs15999460,116,43
256256tous les serveurs431519388,987,01

Améliorations des performances

  • Comme etcd enregistre désormais des métriques pour chaque appel d’API, la performance en QPS de lecture semble légèrement diminuer dans la plupart des scénarios. Ce léger impact sur les performances a été jugé acceptable en échange de la richesse des informations de surveillance et de débogage fournies.

  • Le taux de requêtes d’écriture QPS vers les leaders du cluster semble avoir légèrement augmenté. Cela est dû au fait que la boucle principale et les boucles d’entrée ont été déconnectées dans la logique Raft d’etcd, éliminant plusieurs blocages entre elles.

  • Le QPS d’écriture vers tous les membres semble avoir augmenté de manière significative, car les suiveurs reçoivent désormais l’index de validation le plus récent plus rapidement, et traitent les propositions de validation plus rapidement.