Более современная утилита HTTP Framework.
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
С необязательным флагом
+ --------------- + --------------- +
| Percentile | Avg Latency |
+ --------------- + --------------- +
| 99.9% | 6.88ms |
| 99% | 5.62ms |
| 95% | 4.62ms |
| 90% | 4.24ms |
| 75% | 3.78ms |
| 50% | 3.49ms |
+ --------------- + --------------- +
Мотивация этого проекта простирается от видения разработчиков туннеля на тестах, таких как Techempower, которые используют инструмент для сравнения под названием WRK.
Проблема заключается в том, что WRK обрабатывает только некоторые из HTTP -спецификации и полностью смещен в сторону фреймворков и серверов, которые могут широко использовать трубопровод HTTP/1, который больше не включен в большинстве современных браузеров или клиентов, это может дать очень несправедливый и необоснованный набор статистики при сравнении рамок, так как те, кто на вершине, просто лучше использует процесс, который теперь не используется.
Именно здесь появляется Rewrk, этот ориентир построен на вершине API клиента Hyper и приносит с собой много преимуществ и более реалистичных методов сравнительного анализа.
Использование относительно просто, если у вас есть скомпилированный бинарный простой, просто используя CLI.
Вот пример для создания следующего эталона:
-c 256 )--http2 )-t 12 )-d 15s )--pct )http://127.0.0.1:5000 ( -h http://127.0.0.1:5000 ) Команда CLI:
rewrk -c 256 -t 12 -d 15s -h http://127.0.0.1:5000 --http2 --pct
Чтобы поднять меню «Помощь», просто запустите rewrk --help это:
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]
Создание из источника невероятно просто, просто убедитесь, что у вас установлена стабильная версия Rust, прежде чем начать.
С установкой груза
cargo install rewrk --git https://github.com/ChillFish8/rewrk.gitС грузом
cargo run --release -- <enter flags here>С грузом
cargo build --release