Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 5|Risposta: 0

[Web] [Ripostazione] Benchmark ufficiale Traefik vs Nginx

[Copiato link]
Pubblicato su11 minuti fa | | |
Cos'è Traefik?

Traefik è un moderno proxy inverso a sette livelli e bilanciatore di peso, incentrato su un concetto fondamentale — Service Discovery First.

La differenza più grande rispetto ai proxy inversi tradizionali (come Nginx) è che non è necessario scrivere manualmente un gran numero di file di configurazione; Traefik "osserva" proattivamente il tuo ambiente di esecuzione e genera automaticamente regole di instradamento.

Grazie alla funzione "servizio come configurazione", Traefik è particolarmente adatto per questi scenari:

  • Docker / Docker Compose
  • Kubernetes (Controllore di ingresso)
  • Architettura dei microservizi
  • Servizi online per piccoli team o sviluppatori indipendenti

In parole povere, se il tuo servizio è "dinamico", Traefik è molto meno semplice rispetto agli agenti inversi tradizionali.

Benchmark

disposizione

Voglio ringraziare exoscale.ch VincentBernat, che ha generosamente fornito l'infrastruttura necessaria per il benchmarking.

L'ho testato usando 4 macchine virtuali, configurate come segue:

32 GB di memoria
8 core CPU
Unità solid-state da 10GB
Ubuntu 14.04 LTS 64-bit

Impostare

Una macchina virtuale viene utilizzata per avviare lo strumento di benchmarking wrk
Una macchina virtuale per Traefik (v1.0.0-beta.416) / nginx (v1.4.6)
Chi configura due macchine virtuali per due server backend in Go?
Ogni macchina virtuale è stata regolata seguendo le seguenti restrizioni:
Nginx

Di seguito è riportato il metodo di utilizzo per il file di configurazione Nginx /etc/nginx/nginx.conf:
Di seguito sono riportati i file di configurazione dell'hosting virtuale Nginx utilizzati:
Traefik

Di seguito sono riportati i file utilizzati per traefik.toml:
risultato
whoami:
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latenza http://IP-whoami:80/bench
Esecuzione di test da 1 metro @ http://IP-whoami:80/bench
20 filettature e 1000 connessioni
Statistiche della discussione Statistiche Media Stdev Max +/- Stdev
Latenza 70,28ms 134,72ms 1,91s 89,94%
Rechiesta/Sec 2,92k 742,42 8,78k 68,80%
Distribuzione della latenza
50% 10,63ms
75% 75,64ms
90% 205,65ms
99% 668,28ms
3476705 richieste in 1,00 milioni, 384,61 MB di lettura
Errori di socket: connessione 0, lettura 0, scrittura 0, timeout 103
Richieste/sec: 57894.35
Trasferimento/sec: 6,40MB

Nginx:
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latency http://IP-nginx:8001/bench
Sto facendo un test da 1 metro @ http://IP-nginx:8001/bench
20 filettature e 1000 connessioni
Statistiche della discussione Statistiche Media Stdev Max +/- Stdev
Latenza 101,25ms 180,09ms 1,99s 89,34%
Rechiesta/Sec 1,69k 567,69 9,39k 72,62%
Distribuzione della latenza
50% 15,46ms
75% 129,11ms
90% 302,44ms
99% 846,59ms
2018427 richieste in 1,00 milioni, 298,36 MB di lettura
Errori di socket: connessione 0, lettura 0, scrittura 0, timeout 90
Richieste/sec: 33591.67
Trasferimento/secondo: 4,97MB

Traefik
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latency http://IP-traefik:8000/bench
Esecuzione di test da 1 metro @ http://IP-traefik:8000/bench
20 filettature e 1000 connessioni
Statistiche della discussione Statistiche Media Stdev Max +/- Stdev
Latenza 91,72ms 150,43ms 2,00s 90,50%
Requisiti/Sec 1,43k 266,37 2,97k 69,77%
Distribuzione della latenza
50% 19,74ms
75% 121,98ms
90% 237,39ms
99% 687,49ms
1705073 richieste in 1,00 milioni, 188,63 MB di lettura
Errori di socket: connessione 0, lettura 0, scrittura 0, timeout 7
Richieste/sec: 28392,44
Trasferimento/secondo: 3,14MB

conclusione
La velocità di Traefik è chiaramente più lenta di quella di Nginx, ma il divario non è enorme: Traefik gestisce 28.392 richieste al secondo, mentre Nginx gestisce 33.591 richieste al secondo, con un rapporto di prestazioni dell'85%. Per un progetto giovane, è un buon :)!

Alcune aree da migliorare:

Usa GO_REUSEPORT monitor

Ogni core CPU esegue un'istanza server separata GOMAXPROCS=1 (i benchmark mostrano che Traefik ha molto più contesto switching rispetto a nginx).

Originale:Il login del link ipertestuale è visibile.




Precedente:Differenze tra i sistemi operativi QTS e QuTS Hero per NAS
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com