Ein moderneres HTTP -Framework -Benchmark -Dienstprogramm.
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
Mit optionalem -PCT -Flag
+ --------------- + --------------- +
| Percentile | Avg Latency |
+ --------------- + --------------- +
| 99.9% | 6.88ms |
| 99% | 5.62ms |
| 95% | 4.62ms |
| 90% | 4.24ms |
| 75% | 3.78ms |
| 50% | 3.49ms |
+ --------------- + --------------- +
Die Motivation hinter diesem Projekt erstreckt sich von Entwicklern -Tunnel -Visionen auf Benchmarks wie TechEmpower, die das Benchmarking -Tool namens WRK verwenden.
Das Problem ist, dass WRK nur einige der HTTP -Spezifikationen behandelt und vollständig in Bezug auf Frameworks und Server voreingenommen ist, die bei den meisten modernen Browsern oder Clients nicht mehr in der Lage sind, HTTP/1 -Pipelining zu ermöglichen.
Hier kommt Rewrk ins Spiel. Dieser Benchmarker basiert auf der Client -API von Hyper und bringt viele Vorteile und realistischere Methoden des Benchmarking mit sich.
Die Verwendung ist relativ einfach, wenn Sie einen kompilierten Binäranlagen einfach mit der CLI laufen lassen.
Hier ist ein Beispiel, um den folgenden Benchmark zu erstellen:
-c 256 )--http2 )-t 12 )-d 15s )--pct )http://127.0.0.1:5000 ( -h http://127.0.0.1:5000 ) CLI -Befehl:
rewrk -c 256 -t 12 -d 15s -h http://127.0.0.1:5000 --http2 --pct
Um das Help -Menü aufzurufen rewrk --help einfach um.
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]
Das Erstellen von Quelle ist unglaublich einfach. Stellen Sie einfach sicher, dass Sie eine stabile Version von Rost installiert haben, bevor Sie beginnen.
Mit Fracht installieren
cargo install rewrk --git https://github.com/ChillFish8/rewrk.gitMit Frachtlauf
cargo run --release -- <enter flags here>Mit Frachtbau
cargo build --release