Aller au contenu

Benchmarking etcd v2.2.0-rc

Mesures de performance pour etcd v2.2.0-rc

Machine physique

Type de machine GCE n1-highcpu-2

  • 1 disque SSD local dédié monté sous /var/lib/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-rc, chacun exécuté sur une seule machine.

Versions détaillées :

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

En outre, nous utilisons 3 membres etcd 2.1.0 en phase alpha pour constituer le cluster et obtenir des performances de base. La tête du commit d’etcd est située à c7146bd5 , identique à celle utilisée dans benchmark etcd 2.1 .

Test

Initialisez une autre machine et utilisez l’outil de benchmark HTTP hey pour envoyer des requêtes à chaque membre etcd. Consultez le guide de manipulation du benchmark pour des instructions détaillées.

Performances

lecture d’une seule clé

taille de la clé en octetsnombre de clientsserveur etcd cibledébit de lecture (QPS)latence au 90e percentile (ms)
641seul leader2804 (-5%)0,4 (+0 %)
6464seul leader17816 (+0 %)5,7 (-6%)
64256seul leader18667 (-6%)20,4 (+2 %)
2561seul leader2181 (-15%)0,5 (+25 %)
25664seul leader17435 (-7%)6,0 (+9 %)
256256seul leader18180 (-8%)21,3 (+3 %)
6464tous les serveurs46965 (-4%)2,1 (+0 %)
64256tous les serveurs55286 (-6%)7,4 (+6 %)
25664tous les serveurs46603 (-6%)2,1 (+5 %)
256256tous les serveurs55291 (-6%)7,3 (+4 %)

écriture d’une seule clé

taille de la clé en octetsnombre de clientsserveur etcd cibledébit d’écriture QPSlatence au 90e percentile (ms)
641seul leader76 (+22%)19,4 (-15%)
6464seul leader2461 (+45%)31,8 (-32%)
64256seul leader4275 (+1%)69,6 (-10%)
2561seul leader64 (+20%)16,7 (-30%)
25664seul leader2385 (+30%)31,5 (-19%)
256256seul leader4353 (-3%)74,0 (+9%)
6464tous les serveurs2005 (+81%)49,8 (-55%)
64256tous les serveurs4868 (+35%)81,5 (-40%)
25664tous les serveurs1925 (+72%)47,7 (-59%)
256256tous les serveurs4975 (+36%)70,3 (-36%)

explication des modifications de performance

  • Le QPS de lecture est généralement réduit de 5 à 8 % dans la plupart des scénarios. La raison en est que etcd enregistre des métriques pour chaque opération de stockage. Ces métriques sont importantes pour la surveillance et le débogage, ce qui rend cette réduction acceptable.

  • Le QPS d’écriture vers le leader augmente de 20 à 30 %. Cela est dû à la déconnexion de la boucle principale Raft et de la boucle d’application des entrées, ce qui empêche leurs blocages mutuels.

  • Le débit d’écriture QPS sur tous les serveurs augmente de 30 à 80 % car le suiveur peut recevoir plus tôt l’index de validation le plus récent et valider les propositions plus rapidement.