Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 5|Atbildi: 0

[Tīmeklis] [Pārpublicēšana] Traefik pret Nginx oficiālais etalons

[Kopēt saiti]
PublicētsPirms 11 minūtēm | | |
Kas ir Traefiks?

Traefik ir mūsdienīgs septiņu slāņu reversais starpniekserveris un slodzes balansētājs, kas balstīts uz pamatkoncepciju — Service Discovery First.

Lielākā atšķirība no tradicionālajiem reversajiem starpniekserveriem (piemēram, Nginx) ir tā, ka jums nav manuāli jāraksta liels skaits konfigurācijas failu; Traefik proaktīvi "novēro" jūsu izpildes vidi un automātiski ģenerē maršrutēšanas noteikumus.

Pateicoties "service as configuration" funkcijai, Traefik ir īpaši piemērots šādiem scenārijiem:

  • Docker / Docker Compose
  • Kubernetes (Ingress Controller)
  • Mikroservisu arhitektūra
  • Tiešsaistes pakalpojumi mazām komandām vai neatkarīgiem izstrādātājiem

Vienkārši sakot, ja jūsu pakalpojums ir "dinamisks", Traefik ir daudz mazāk bezrūpīgs nekā tradicionālie reversie aģenti.

Etalons

Izvietojuma

Vēlos pateikties exoscale.ch VincentBernat, kurš dāsni nodrošināja nepieciešamo infrastruktūru etalonu novērtēšanai.

Es to pārbaudīju, izmantojot 4 virtuālās mašīnas, konfigurētas šādi:

32 GB atmiņa
8 CPU kodoli
10GB cietvielu disks
Ubuntu 14.04 LTS 64-bit

Iestatīt

Virtuālā mašīna tiek izmantota, lai palaistu benchmarking rīku wrk
Virtuālā mašīna Traefik (v1.0.0-beta.416) / nginx (v1.4.6)
Kas konfigurē divas virtuālās mašīnas diviem aizmugures serveriem Go vidē?
Katra virtuālā mašīna ir pielāgota, izmantojot šādus ierobežojumus:
Nginx

Zemāk ir lietošanas metode Nginx konfigurācijas failam /etc/nginx/nginx.conf:
Zemāk ir izmantotie Nginx virtuālās mitināšanas konfigurācijas faili:
Traefiks

Tālāk ir faili, kas tiek izmantoti traefik.toml:
Rezultātu
Whoami:
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latentums http://IP-whoami:80/bench
Veicu 1m testu @ http://IP-whoami:80/bench
20 pavedieni un 1000 savienojumi
Thread Stats   Avg      Stdev     Max   +/- Stdev
Latentums 70,28ms 134,72ms 1,91s 89,94%
Pieprasījumi/sec 2.92k 742.42 8.78k 68.80%
Latentuma sadalījums
50% 10,63ms
75% 75,64ms
90% 205,65ms
99% 668,28ms
3476705 pieprasījumi 1,00 m, 384,61MB izlasē
Ligzdas kļūdas: savienot 0, nolasīt 0, ierakstīt 0, laika limits 103
Pieprasījumi/sec: 57894.35
Pārsūtīšana sekundē: 6.40MB

Nginx:
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latentums http://IP-nginx:8001/bench
Veicu 1m testu @ http://IP-nginx:8001/bench
20 pavedieni un 1000 savienojumi
Thread Stats   Avg      Stdev     Max   +/- Stdev
Latentums 101,25ms 180,09ms 1,99s 89,34%
Pieprasījums/sec: 1,69 tūkstoši 567,69 9,39 tūkstoši 72,62%
Latentuma sadalījums
50% 15,46ms
75% 129,11 ms
90% 302,44ms
99% 846,59ms
2018427 pieprasījumi 1.00m, 298.36MB lasāmi
Ligzdas kļūdas: savienot 0, nolasīt 0, ierakstīt 0, noildze 90
Pieprasījumi/sec: 33591.67
Pārsūtīšana/sec: 4,97MB

Traefiks
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latentums http://IP-traefik:8000/bench
Veicu 1m testu @ http://IP-traefik:8000/bench
20 pavedieni un 1000 savienojumi
Thread Stats   Avg      Stdev     Max   +/- Stdev
Latentums 91,72ms 150,43ms 2,00s 90,50%
Pieprasījumi sekundē 1.43k 266.37 2.97k 69.77%
Latentuma sadalījums
50% 19,74ms
75% 121,98ms
90% 237,39ms
99% 687,49ms
1705073 pieprasījumi 1,00 m, 188,63 MB izlasē
Ligzdas kļūdas: pieslēgt 0, nolasīt 0, rakstīt 0, laika limits 7
Pieprasījumi/sec: 28392.44
Pārsūtīšana sekundē: 3,14MB

Secinājums
Traefik ātrums ir acīmredzami lēnāks nekā Nginx, bet atšķirība nav liela: Traefik apstrādā 28 392 pieprasījumus sekundē, kamēr Nginx apstrādā 33 591 pieprasījumu sekundē, ar veiktspējas attiecību 85%. Jaunam projektam tas ir diezgan labs :)!

Dažas uzlabojumu jomas:

Izmantojiet GO_REUSEPORT monitorus

Katrs CPU kodols darbojas ar atsevišķu servera instanci GOMAXPROCS=1 (veiktspējas testi rāda, ka Traefik ir daudz vairāk konteksta pārslēgšanas nekā nginx).

Sākotnējā:Hipersaites pieteikšanās ir redzama.




Iepriekšējo:Atšķirības starp QTS un QuTS Hero operētājsistēmām NAS
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com