Un utilitaire de référence HTTP Framework plus moderne.
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
Avec un indicateur facultatif - pct
+ --------------- + --------------- +
| Percentile | Avg Latency |
+ --------------- + --------------- +
| 99.9% | 6.88ms |
| 99% | 5.62ms |
| 95% | 4.62ms |
| 90% | 4.24ms |
| 75% | 3.78ms |
| 50% | 3.49ms |
+ --------------- + --------------- +
La motivation derrière ce projet s'étend sur la vision du tunnel des développeurs sur des références comme TecheMpower qui utilisent l'outil d'analyse comparative appelée WRK.
Le problème est que WRK ne gére que certaines des spécifications HTTP et est entièrement biaisé vers des cadres et des serveurs qui peuvent utiliser fortement le pipelining HTTP / 1 qui n'est plus activé dans les navigateurs ou les clients les plus modernes, cela peut donner un ensemble très injuste et déraisonnable de statistiques lors de la comparaison des cadres car ceux en haut sont tout simplement mieux utilisés d'un processus qui n'est pas utilisé grandement grandement.
C'est là que la réécriture entre en jeu, ce benchmarker est construit sur l'API du client d'Hyper et apporte de nombreux avantages et des méthodes plus réalistes de comparaison.
L'utilisation est relativement simple, si vous avez un binaire compilé, exécutez simplement la CLI.
Voici un exemple pour produire la référence suivante:
-c 256 )--http2 )-t 12 )-d 15s )--pct )http://127.0.0.1:5000 ( -h http://127.0.0.1:5000 ) Commande CLI:
rewrk -c 256 -t 12 -d 15s -h http://127.0.0.1:5000 --http2 --pct
Pour afficher le menu d'aide, exécutez simplement rewrk --help pour produire ceci:
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]
La construction de Source est incroyablement simple, assurez-vous que vous avez une version stable de Rust installée avant de commencer.
Avec installation de cargaison
cargo install rewrk --git https://github.com/ChillFish8/rewrk.gitAvec course de cargaison
cargo run --release -- <enter flags here>Avec construction de cargaison
cargo build --release