Ici est un excellent IBM document de recherche intitulé "Une mise à Jour de Comparaison des Performances des Machines Virtuelles Linux et Conteneurs" par Felter et coll. qui fournit une comparaison entre le métal nu, KVM, et les conteneurs Docker.
Ils comparent diskIO, CPU, réseau, etc. Le résultat général est que Docker est plus rapide que KVM dans chaque catégorie et à peine pire que de Natifs. Malheureusement, ils n'ont pas fini de toutes les comparaisons des réseaux, de sorte que certains du réseau des tables de ressembler à l'image ci-dessous.
Maintenant, NAT est une jolie chose lourde et le Panneau de mise en œuvre de ce n'est pas exactement la bataille a testé plus de 10 ans, donc peut-être l'ed NAT la surcharge du réseau est le seul cas où KVM surpasse Docker. Cependant, vous pouvez maintenant utiliser le réseau de l'hôte de la pile lors du lancement d'un conteneur Docker. Si vous faites cela, je pense que la plupart des chercheurs conviennent que (compte tenu des autres résultats dans le papier), le résultat attendu de la surcharge du réseau serait mentir entre les Indigènes et KVM (par exemple, dans le diagramme ci-dessus, une barre de menu fixe Hôte devrait être tout au plus ~62us de haut).
Ci-dessous l'a confirmé - ils ont couru un test de réseau sur quelques-uns des services spécifiques tels que le Redis. Vous pouvez voir que plus de 20 threads de client, la latence la plus élevée de surcharge va Docker NAT, puis KVM, puis un accidenté de la cravate pour le Panneau d'accueil/native.
Si vous êtes si incliné, envoyez un courriel aux auteurs pour une mise à jour et demander s'ils ont des résultats terminé sur le NAT frais généraux - la plupart des auteurs sont très heureux d'aider quelqu'un qui est intéressé dans leurs résultats!
Juste parce que c'est vraiment utile de papier, voici quelques autres chiffres. S'il vous plaît télécharger pour un accès complet.
En prenant un coup d'oeil à e / s de Disque:
Maintenant à la recherche à la charge du CPU:
Maintenant quelques exemples de mémoire (lire l'article pour plus de détails, la mémoire peut être très compliqué)