Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 5|Antwort: 0

[Web] [Repost] Traefik vs Nginx Offizieller Benchmark

[Link kopieren]
Veröffentlicht amVor 11 Minuten | | |
Was ist Traefik?

Traefik ist ein moderner Siebenschichtiger Reverse-Proxy und Load Balancer, der auf einem Kernkonzept basiert – Service Discovery First.

Der größte Unterschied zu herkömmlichen Reverse-Proxys (wie Nginx) ist, dass man nicht eine große Anzahl von Konfigurationsdateien manuell schreiben muss; Traefik "beobachtet" proaktiv deine Laufzeitumgebung und generiert automatisch Routing-Regeln.

Aufgrund der Funktion "Service as Configuration" eignet sich Traefik besonders gut für diese Szenarien:

  • Docker / Docker Compose
  • Kubernetes (Ingress Controller)
  • Microservices-Architektur
  • Online-Dienste für kleine Teams oder unabhängige Entwickler

Kurz gesagt: Wenn Ihr Service "dynamisch" ist, ist Traefik deutlich weniger unkompliziert als herkömmliche Rückwärtsagenten.

Benchmark

Veranlagung

Ich möchte exoscale.ch VincentBernat danken, der großzügig die Infrastruktur für das Benchmarking bereitgestellt hat.

Ich habe es mit 4 virtuellen Maschinen getestet, die wie folgt konfiguriert sind:

32 GB Speicher
8 CPU-Kerne
10GB Solid-State-Laufwerk
Ubuntu 14.04 LTS 64-Bit

Aufstellen

Eine virtuelle Maschine wird verwendet, um das Benchmarking-Tool wrk zu starten
Eine virtuelle Maschine für Traefik (v1.0.0-beta.416) / nginx (v1.4.6)
Wer konfiguriert zwei virtuelle Maschinen für zwei Backend-Server in Go?
Jede virtuelle Maschine wurde unter den folgenden Einschränkungen optimiert:
Nginx

Nachfolgend ist die Nutzungsmethode für die Nginx-Konfigurationsdatei /etc/nginx/nginx.conf aufgeführt:
Nachfolgend sind die verwendeten Nginx-Virtual-Hosting-Konfigurationsdateien aufgeführt:
Traefik

Im Folgenden sind die für traefik.toml verwendeten Dateien:
Ergebnis
Whoami:
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --Latenz http://IP-whoami:80/bench
Ich führe einen 1-Meter-Test durch @ http://IP-whoami:80/bench
20 Threads und 1000 Verbindungen
Thread-Statistiken durchschnittlich Stdev Max +/- Stdev
Latenz 70,28 ms 134,72 ms 1,91 s 89,94 %
Voraussetzung/Sekunde 2,92k 742,42 8,78k 68,80 %
Latenzverteilung
50 % 10,63 ms
75 % 75,64 ms
90 % 205,65 ms
99 % 668,28 ms
3476705 Anfragen in 1,00 m, 384,61 MB Lesekapazität
Socket-Fehler: verbinden 0, 0 lesen, 0 schreiben, Auszeit 103
Anfragen/Sekunde: 57894.35
Übertragung/Sekunde: 6,40 MB

nginx:
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --Latenz http://IP-nginx:8001/bench
Ich führe einen 1-Meter-Test durch @ http://IP-nginx:8001/bench
20 Threads und 1000 Verbindungen
Thread-Statistiken durchschnittlich Stdev Max +/- Stdev
Latenz 101,25 ms 180,09 ms 1,99 s 89,34 %
Voraussetzung/Sek: 1,69k 567,69 9,39k 72,62 %
Latenzverteilung
50 % 15,46 ms
75 % 129,11 ms
90 % 302,44 ms
99 % 846,59 ms
2018427 Anfragen in 1,00 Millionen, 298,36 MB Lesekapazität
Socket-Fehler: verbinden 0, 0 lesen, 0 schreiben, Auszeit 90
Anfragen/sek: 33591.67
Übertragung/Sekunde: 4,97 MB

Traefik
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --Latenz http://IP-traefik:8000/bench
Ich führe einen 1-Meter-Test durch @ http://IP-traefik:8000/bench
20 Threads und 1000 Verbindungen
Thread-Statistiken durchschnittlich Stdev Max +/- Stdev
Latenz 91,72 ms 150,43 ms 2,00s 90,50 %
Voraussetzung/Sek. 1,43k 266,37 2,97k 69,77 %
Latenzverteilung
50 % 19,74 ms
75 % 121,98 ms
90 % 237,39 ms
99 % 687,49 ms
1705073 Anfragen in 1,00 m, 188,63 MB Lesekapazität
Socket-Fehler: verbinden 0, 0 lesen, 0 schreiben, Auszeit 7
Anfragen/sek: 28392.44
Übertragung/sek: 3,14 MB

Schlussfolgerung
Traefiks Geschwindigkeit ist deutlich langsamer als die von Nginx, aber der Unterschied ist nicht riesig: Traefik verarbeitet 28.392 Anfragen pro Sekunde, während Nginx 33.591 Anfragen pro Sekunde bearbeitet, mit einem Leistungsverhältnis von 85 %. Für ein junges Projekt ist das ziemlich gute :)!

Einige Verbesserungsmöglichkeiten:

Verwenden Sie GO_REUSEPORT Monitore

Jeder CPU-Kern betreibt eine separate Serverinstanz GOMAXPROCS=1 (Benchmarks zeigen, dass Traefik viel mehr Kontextwechsel hat als nginx).

Original:Der Hyperlink-Login ist sichtbar.




Vorhergehend:Unterschiede zwischen den Betriebssystemen QTS und QuTS Hero für NAS
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com