Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 5|Resposta: 0

[Web] [Repost] Benchmark Oficial Traefik vs Nginx

[Copiar link]
Publicado em11 minutos atrás | | |
O que é Traefik?

Traefik é um proxy reverso e balanceador de carga moderno de sete camadas, centrado em um conceito central — Descoberta de Serviços Primeiro.

A maior diferença em relação aos proxies reversos tradicionais (como o Nginx) é que você não precisa escrever manualmente um grande número de arquivos de configuração; o Traefik "observa" proativamente seu ambiente de execução e gera automaticamente regras de roteamento.

Por causa do recurso de "serviço como configuração", o Traefik é especialmente adequado para estes cenários:

  • Docker / Docker Compose
  • Kubernetes (Controlador de Entrada)
  • Arquitetura de microserviços
  • Serviços online para pequenas equipes ou desenvolvedores independentes

Simplificando, se seu serviço for "dinâmico", Traefik é muito menos prático do que agentes reversos tradicionais.

Referência

disposição

Quero agradecer exoscale.ch VincentBernat, que generosamente forneceu a infraestrutura necessária para benchmarking.

Testei usando 4 máquinas virtuais, configuradas da seguinte forma:

32 GB de memória
8 núcleos de CPU
Unidade de estado sólido de 10GB
Ubuntu 14.04 LTS 64-bit

Preparar

Uma máquina virtual é usada para lançar a ferramenta de benchmarking wrk
Uma máquina virtual para Traefik (v1.0.0-beta.416) / nginx (v1.4.6)
Quem está configurando duas máquinas virtuais para dois servidores backend no Go?
Cada máquina virtual foi ajustada usando as seguintes restrições:
Nginx

Abaixo está o método de uso para o arquivo de configuração Nginx /etc/nginx/nginx.conf:
Abaixo estão os arquivos de configuração de hospedagem virtual Nginx utilizados:
Traefik

A seguir estão os arquivos usados para traefik.toml:
resultado
Uau:
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latência http://IP-whoami:80/bench
Fazendo teste de 1m @ http://IP-whoami:80/bench
20 roscas e 1000 conexões
Estatísticas médias de desenvolvimento máxima: nível de desenvolvimento máximo +/-
Latência 70,28ms 134,72ms 1,91s 89,94%
Requisito/Seg 2,92k 742,42 8,78k 68,80%
Distribuição de Latência
50% 10,63ms
75% 75,64ms
90% 205,65ms
99% 668,28ms
3476705 solicitações em 1,00 milh, 384,61 MB de leitura
Erros de soquete: conectar 0, ler 0, escrever 0, timeout 103
Pedidos/sec: 57894,35
Transferência/segundo: 6,40MB

Nginx:
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latência http://IP-nginx:8001/bench
Fazendo teste de 1m @ http://IP-nginx:8001/bench
20 roscas e 1000 conexões
Estatísticas médias de desenvolvimento máxima: nível de desenvolvimento máximo +/-
Latência 101,25ms 180,09ms 1,99s 89,34%
Requisito/Sec 1,69k 567,69 9,39k 72,62%
Distribuição de Latência
50% 15,46ms
75% 129,11ms
90% 302,44ms
99% 846,59ms
2018427 requisições em 1,00 milhões, 298,36 MB de leitura
Erros de socket: conectar 0, ler 0, escrever 0, timeout 90
Pedidos/sec: 33591,67
Transferência/segundo: 4,97MB

Traefik
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latência http://IP-traefik:8000/bench
Rodando teste de 1m @ http://IP-traefik:8000/bench
20 roscas e 1000 conexões
Estatísticas médias de desenvolvimento máxima: nível de desenvolvimento máximo +/-
Latência 91,72ms 150,43ms 2,00s 90,50%
Requisito/Sec 1,43k 266,37 2,97k 69,77%
Distribuição de Latência
50% 19,74ms
75% 121,98ms
90% 237,39ms
99% 687,49ms
1705073 solicitações em 1,00 milhões, 188,63 MB de leitura
Erros de soquete: conectar 0, leitura 0, gravação 0, timeout 7
Pedidos/seg: 28392,44
Transferência/segundo: 3,14MB

conclusão
A velocidade do Traefik é claramente mais lenta que a do Nginx, mas a diferença não é grande: o Traefik lida com 28.392 solicitações por segundo, enquanto a Nginx lida com 33.591 solicitações por segundo, com uma relação de desempenho de 85%. Para um projeto jovem, isso é um ótimo :)!

Algumas áreas para melhorias:

Use GO_REUSEPORT monitores

Cada núcleo de CPU roda uma instância de servidor separada GOMAXPROCS=1 (benchmarks mostram que Traefik tem muito mais troca de contexto do que nginx).

Original:O login do hiperlink está visível.




Anterior:Diferenças entre os sistemas operacionais QTS e QuTS Hero para NAS
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com