Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 5|Répondre: 0

[Web] [Repost] Benchmark officiel Traefik vs Nginx

[Copié le lien]
Publié surIl y a 11 minutes | | |
Qu’est-ce que Traefik ?

Traefik est un proxy inverse et un équilibreur de charge moderne à sept couches, centré autour d’un concept fondamental : la découverte de services d’abord.

La plus grande différence avec les reverse proxies traditionnels (comme Nginx) est que vous n’avez pas besoin d’écrire manuellement un grand nombre de fichiers de configuration ; Traefik « observe » de manière proactive votre environnement d’exécution et génère automatiquement des règles de routage.

Grâce à la fonction « service comme configuration », Traefik est particulièrement adapté à ces scénarios :

  • Docker / Docker Compose
  • Kubernetes (contrôleur d’entrée)
  • Architecture des microservices
  • Services en ligne pour petites équipes ou développeurs indépendants

En termes simples, si votre service est « dynamique », Traefik est bien moins simple que les agents inverses traditionnels.

Référence

disposition

Je tiens à remercier exoscale.ch VincentBernat, qui a généreusement fourni l’infrastructure nécessaire au benchmarking.

Je l’ai testé avec 4 machines virtuelles, configurées comme suit :

32 Go de mémoire
8 cœurs CPU
Disque SSD de 10 Go
Ubuntu 14.04 LTS 64 bits

Installer

Une machine virtuelle est utilisée pour lancer l’outil de benchmarking wrk
Une machine virtuelle pour Traefik (v1.0.0-beta.416) / nginx (v1.4.6)
Qui configure deux machines virtuelles pour deux serveurs backend dans Go ?
Chaque machine virtuelle a été réglée selon les restrictions suivantes :
Nginx

Voici la méthode d’utilisation du fichier de configuration Nginx /etc/nginx/nginx.conf :
Voici les fichiers de configuration de l’hébergement virtuel Nginx utilisés :
Traefik

Voici les fichiers utilisés pour traefik.toml :
résultat
whoami :
wrk -t20 -c1000 -d60s -H « Host : test.traefik » --latence http://IP-whoami:80/bench
Test de 1m en cours @ http://IP-whoami:80/bench
20 fils et 1000 connexions
Statistiques de thread Moyenne Stdev Max +/- Stdev
Latence 70,28 ms 134,72 ms 1,91s 89,94 %
Requis/Sec 2,92k 742,42 8,78k 68,80 %
Distribution de latence
50 % 10,63 ms
75 % 75,64 ms
90 % 205,65 ms
99 % 668,28 ms
3476705 requêtes en 1,00 million, 384,61 Mo de lecture
Erreurs de socket : connexion 0, lecture 0, écriture 0, délai 103
Demandes/s : 57894,35
Transfert/s : 6,40 Mo

nginx :
wrk -t20 -c1000 -d60s -H « Host : test.traefik » --latence http://IP-nginx:8001/bench
Test de 1 mètre @ http://IP-nginx:8001/bench
20 fils et 1000 connexions
Statistiques de thread Moyenne Stdev Max +/- Stdev
Latence 101,25 ms 180,09 ms 1,99s 89,34 %
Exigence/Sec 1,69k 567,69 9,39k 72,62 %
Distribution de latence
50 % 15,46 ms
75 % 129,11 ms
90 % 302,44 ms
99 % 846,59 ms
2018427 requêtes en 1,00 million, 298,36 Mo de lecture
Erreurs de socket : connexion 0, lecture 0, écriture 0, délai d’attente 90
Demandes/s : 33591,67
Transfert/seconde : 4,97 Mo

Traefik
wrk -t20 -c1000 -d60s -H « Host : test.traefik » --latence http://IP-traefik:8000/bench
Test de 1 minute @ http://IP-traefik:8000/bench
20 fils et 1000 connexions
Statistiques de thread Moyenne Stdev Max +/- Stdev
Latence 91,72 ms 150,43 ms 2,00 s 90,50 %
Exigence/seconde 1,43k 266,37 2,97k 69,77 %
Distribution de latence
50 % 19,74 ms
75 % 121,98 ms
90 % 237,39 ms
99 % 687,49 ms
1705073 requêtes en 1,00 million, 188,63 Mo de lecture
Erreurs de socket : connexion 0, lecture 0, écriture 0, délai d’attente 7
Demandes/s : 28392,44
Transfert/sec : 3,14 Mo

conclusion
La vitesse de Traefik est clairement plus lente que celle de Nginx, mais l’écart n’est pas énorme : Traefik gère 28 392 requêtes par seconde, tandis que Nginx en gère 33 591 par seconde, avec un ratio performance de 85 %. Pour un projet jeune, c’est plutôt bon :) !

Quelques points à améliorer :

Utilisez GO_REUSEPORT moniteurs

Chaque cœur CPU fait tourner une instance serveur séparée : GOMAXPROCS=1 (les benchmarks montrent que Traefik a beaucoup plus de changement de contexte que nginx).

Langue source:La connexion hyperlientérée est visible.




Précédent:Différences entre les systèmes d’exploitation QTS et QuTS Hero pour NAS
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com