Una utilidad de referencia de marco HTTP más moderna.
F:rewrk> rewrk -h http://127.0.0.1:5000 -t 12 -c 60 -d 5s
Benchmarking 60 connections @ http://127.0.0.1:5000 for 5 seconds
Latencies:
Avg Stdev Min Max
3.27ms 0.40ms 1.95ms 9.39ms
Requests:
Total: 91281 Req/Sec: 18227.81
Transfer:
Total: 1.13 MB Transfer Rate: 231.41 KB/Sec
Con opcional -pct bander
+ --------------- + --------------- +
| Percentile | Avg Latency |
+ --------------- + --------------- +
| 99.9% | 6.88ms |
| 99% | 5.62ms |
| 95% | 4.62ms |
| 90% | 4.24ms |
| 75% | 3.78ms |
| 50% | 3.49ms |
+ --------------- + --------------- +
La motivación detrás de este proyecto se extiende desde los desarrolladores de la visión del túnel en puntos de referencia como TechMpower que usan la herramienta de evaluación comparativa llamada WRK.
El problema es que WRK solo maneja algunas de las especificaciones HTTP y está completamente sesgada hacia marcos y servidores que pueden hacer un uso intensivo de la canalización HTTP/1 que ya no está habilitada en la mayoría de los navegadores o clientes modernos, esto puede dar un conjunto muy injusto e irracional de estadísticas al comparar los marco, ya que aquellos de la parte superior simplemente son mejores para usar un proceso que ahora no se usa de manera muy grande.
Aquí es donde entra Rewrk, este margen de referencia está construido sobre la API de clientes de Hyper y trae consigo muchas ventajas y métodos más realistas de evaluación comparativa.
El uso es relativamente simple, si tiene un binario compilado simplemente se ejecuta usando la CLI.
Aquí hay un ejemplo para producir el siguiente punto de referencia:
-c 256 )--http2 )-t 12 )-d 15s )--pct )http://127.0.0.1:5000 ( -h http://127.0.0.1:5000 ) Comando CLI:
rewrk -c 256 -t 12 -d 15s -h http://127.0.0.1:5000 --http2 --pct
Para mencionar el menú de ayuda, simplemente ejecute rewrk --help para producir esto:
USAGE:
rewrk.exe [FLAGS] [OPTIONS] --duration <duration> --host <host>
FLAGS:
--help Prints help information
--http2 Set the client to use http2 only. (default is http/1) e.g. '--http2'
--pct Displays the percentile table after benchmarking.
-V, --version Prints version information
OPTIONS:
-c, --connections <connections> Set the amount of concurrent e.g. '-c 512' [default: 1]
-d, --duration <duration> Set the duration of the benchmark.
-h, --host <host> Set the host to bench e.g. '-h http://127.0.0.1:5050'
-t, --threads <threads> Set the amount of threads to use e.g. '-t 12' [default: 1]
Construir desde la fuente es increíblemente simple, solo asegúrese de tener una versión estable de Rust Instited antes de comenzar.
Con instalación de carga
cargo install rewrk --git https://github.com/ChillFish8/rewrk.gitCon carga de carga
cargo run --release -- <enter flags here>Con construcción de carga
cargo build --release