Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 5|Răspunde: 0

[Web] [Repostare] Benchmark oficial Traefik vs Nginx

[Copiază linkul]
Postat peAcum 11 minute | | |
Ce este Traefik?

Traefik este un proxy invers și un echilibrator de încărcare modern cu șapte straturi, centrat pe un concept de bază — Descoperirea Serviciului Mai Întâi.

Cea mai mare diferență față de proxy-urile reverse tradiționale (precum Nginx) este că nu trebuie să scrii manual un număr mare de fișiere de configurare; Traefik "observă" proactiv mediul tău de rulare și generează automat reguli de rutare.

Datorită funcției "serviciu ca configurație", Traefik este deosebit de potrivit pentru aceste scenarii:

  • Docker / Docker Compose
  • Kubernetes (Controler de intrare)
  • Arhitectura microserviciilor
  • Servicii online pentru echipe mici sau dezvoltatori independenți

Pe scurt, dacă serviciul tău este "dinamic", Traefik este mult mai puțin lipsit de bătăi de cap decât agenții inversi tradiționali.

Reperă

dispoziție

Vreau să-i mulțumesc lui exoscale.ch VincentBernat, care a oferit cu generozitate infrastructura necesară pentru benchmarking.

L-am testat folosind 4 mașini virtuale, configurate astfel:

32 GB de memorie
8 nuclee CPU
Unitate solid-state de 10GB
Ubuntu 14.04 LTS 64-bit

Configurat

O mașină virtuală este folosită pentru a lansa instrumentul de benchmarking wrk
O mașină virtuală pentru Traefik (v1.0.0-beta.416) / nginx (v1.4.6)
Cine configurează două mașini virtuale pentru două servere backend în Go?
Fiecare mașină virtuală a fost reglată folosind următoarele restricții:
Nginx

Mai jos este metoda de utilizare pentru fișierul de configurare Nginx /etc/nginx/nginx.conf:
Mai jos sunt fișierele de configurare ale găzduirii virtuale Nginx folosite:
Traefik

Următoarele sunt fișierele folosite pentru traefik.toml:
rezultat
Whoami:
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latență http://IP-whoami:80/bench
Rulând testul de 1m @ http://IP-whoami:80/bench
20 de fire și 1000 de conexiuni
Statistici Thread Stdev Media Max +/- Stdev
Latență 70,28ms 134,72ms 1,91s 89,94%
Cerință/sec 2,92k 742,42 8,78k 68,80%
Distribuția latenței
50% 10,63ms
75% 75,64ms
90% 205,65ms
99% 668,28ms
3476705 cereri în 1,00m, 384,61MB citire
Erori de socket: conectare 0, citire 0, scriere 0, timeout 103
Cereri/sec: 57894.35
Transfer/secundă: 6,40MB

nginx:
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latency http://IP-nginx:8001/bench
Testul de 1m @ http://IP-nginx:8001/bench
20 de fire și 1000 de conexiuni
Statistici Thread Stdev Media Max +/- Stdev
Latență 101,25ms 180,09ms 1,99s 89,34%
Cerințe/sec 1,69k 567,69 9,39k 72,62%
Distribuția latenței
50% 15,46ms
75% 129,11ms
90% 302,44ms
99% 846,59ms
2018427 cereri în 1,00m, 298,36MB citire
Erori de socket: conectare 0, citire 0, scriere 0, timeout 90
Cereri/sec: 33591.67
Transfer/secundă: 4,97MB

Traefik
wrk -t20 -c1000 -d60s -H "Gazdă: test.traefik" --latență http://IP-traefik:8000/bench
Rulând testul de 1m @ http://IP-traefik:8000/bench
20 de fire și 1000 de conexiuni
Statistici Thread Stdev Media Max +/- Stdev
Latență 91,72ms 150,43ms 2,00s 90,50%
Cerință/sec 1,43k 266,37 2,97k 69,77%
Distribuția latenței
50% 19,74ms
75% 121,98ms
90% 237,39ms
99% 687,49ms
1705073 cereri în 1,00m, 188,63MB citire
Erori de socket: conectare 0, citire 0, scriere 0, timeout 7
Cereri/sec: 28392.44
Transfer/secundă: 3,14MB

concluzie
Viteza lui Traefik este clar mai mică decât a lui Nginx, dar diferența nu este uriașă: Traefik gestionează 28.392 de cereri pe secundă, în timp ce Nginx gestionează 33.591 cereri pe secundă, cu un raport de performanță de 85%. Pentru un proiect tânăr, asta este o :) destul de bună!

Câteva domenii de îmbunătățire:

Folosește monitoare GO_REUSEPORT

Fiecare nucleu CPU rulează o instanță separată de server, GOMAXPROCS=1 (benchmark-urile arată că Traefik are mult mai multă schimbare de context decât nginx).

Original:Autentificarea cu hyperlink este vizibilă.




Precedent:Diferențe între sistemele de operare QTS și QuTS Hero pentru NAS
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com