Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 5|Respuesta: 0

[Web] [Repost] Benchmark oficial Traefik vs Nginx

[Copiar enlace]
Publicado enHace 11 minutos | | |
¿Qué es Traefik?

Traefik es un proxy inverso y balanceador de carga moderno de siete capas, centrado en un concepto central: Descubrimiento de Servicios Primero.

La mayor diferencia respecto a los proxies inversos tradicionales (como Nginx) es que no necesitas escribir manualmente un gran número de archivos de configuración; Traefik "observa" proactivamente tu entorno de ejecución y genera automáticamente reglas de enrutamiento.

Debido a la función de "servicio como configuración", Traefik es especialmente adecuado para estos escenarios:

  • Docker / Docker Compose
  • Kubernetes (controlador de ingresos)
  • Arquitectura de microservicios
  • Servicios online para equipos pequeños o desarrolladores independientes

En pocas palabras, si tu servicio es "dinámico", Traefik es mucho menos sencillo que los agentes inversos tradicionales.

Índice de referencia

disposición

Quiero dar las gracias a exoscale.ch VincentBernat, que generosamente proporcionó la infraestructura necesaria para el benchmarking.

Lo probé usando 4 máquinas virtuales, configuradas de la siguiente manera:

32 GB de memoria
8 núcleos de CPU
Unidad de estado sólido de 10GB
Ubuntu 14.04 LTS 64 bits

Construir

Se utiliza una máquina virtual para lanzar la herramienta de benchmarking wrk
Una máquina virtual para Traefik (v1.0.0-beta.416) / nginx (v1.4.6)
¿Quién configura dos máquinas virtuales para dos servidores backend en Go?
Cada máquina virtual ha sido ajustada siguiendo las siguientes restricciones:
Nginx

A continuación se muestra el método de uso para el archivo de configuración Nginx /etc/nginx/nginx.conf:
A continuación se muestran los archivos de configuración de alojamiento virtual de Nginx que se utilizan:
Traefik

Los siguientes son los archivos utilizados para traefik.toml:
resultado
Whoami:
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latencia http://IP-whoami:80/bench
Ejecutando prueba de 1 minuto @ http://IP-whoami:80/bench
20 hilos y 1000 conexiones
Estadísticas del hilo Estadística media Nivel de desarrollo máximo +/- Nivel de desarrollo
Latencia 70,28ms 134,72ms 1,91s 89,94%
Requisito/Sec 2,92k 742,42 8,78k 68,80%
Distribución de latencias
50% 10,63 ms
75% 75,64 ms
90% 205,65 ms
99% 668,28ms
3476705 solicitudes en 1,00 millones, 384,61 MB de lectura
Errores de socket: conectar 0, leer 0, escribir 0, timeout 103
Solicitudes/seg: 57894.35
Transferencia por segundo: 6,40MB

Nginx:
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latencia http://IP-nginx:8001/bench
Haciendo prueba de 1 metro @ http://IP-nginx:8001/bench
20 hilos y 1000 conexiones
Estadísticas del hilo Estadística media Nivel de desarrollo máximo +/- Nivel de desarrollo
Latencia 101,25ms 180,09ms 1,99s 89,34%
Requisito/Sec 1,69k 567,69 9,39k 72,62%
Distribución de latencias
50% 15,46 ms
75% 129,11 ms
90% 302,44ms
99% 846,59 ms
2018427 solicitudes en 1,00 millones, 298,36 MB de lectura
Errores de socket: conexión 0, lectura 0, escritura 0, tiempo de espera 90
Solicitudes/sec: 33591.67
Transferencia/seg: 4,97MB

Traefik
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latencia http://IP-traefik:8000/bench
Realizando una prueba de 1 minuto @ http://IP-traefik:8000/bench
20 hilos y 1000 conexiones
Estadísticas del hilo Estadística media Nivel de desarrollo máximo +/- Nivel de desarrollo
Latencia 91,72ms 150,43ms 2,00s 90,50%
Requisito/Sec 1,43k 266,37 2,97k 69,77%
Distribución de latencias
50% 19,74ms
75% 121,98ms
90% 237,39ms
99% 687,49ms
1705073 solicitudes en 1,00 m, 188,63 MB de lectura
Errores de socket: conexión 0, lectura 0, escritura 0, tiempo de espera 7
Solicitudes/sec: 28392.44
Transferencia/seg: 3,14MB

conclusión
La velocidad de Traefik es claramente más lenta que la de Nginx, pero la diferencia no es grande: Traefik gestiona 28.392 solicitudes por segundo, mientras que Nginx gestiona 33.591 solicitudes por segundo, con una relación de rendimiento del 85%. Para un proyecto joven, ¡eso es bastante bueno :)!

Algunas áreas a mejorar:

Usa GO_REUSEPORT monitores

Cada núcleo de CPU ejecuta una instancia de servidor separada GOMAXPROCS=1 (los benchmarks muestran que Traefik tiene mucho más cambio de contexto que nginx).

Texto original en:El inicio de sesión del hipervínculo es visible.




Anterior:Diferencias entre los sistemas operativos QTS y QuTS Hero para NAS
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com