rewrk
? Version 0.3.2
보다 현대적인 HTTP 프레임 워크 벤치 마크 유틸리티.
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
옵션 -PCT 플래그
+ --------------- + --------------- +
| Percentile | Avg Latency |
+ --------------- + --------------- +
| 99.9% | 6.88ms |
| 99% | 5.62ms |
| 95% | 4.62ms |
| 90% | 4.24ms |
| 75% | 3.78ms |
| 50% | 3.49ms |
+ --------------- + --------------- +
이 프로젝트의 동기 부여는 WRK라는 벤치마킹 도구를 사용하는 TechEmpower와 같은 벤치 마크에서 개발자 Tunnel Visioning에서 확장됩니다.
문제는 WRK가 HTTP 사양의 일부만 처리하고 대부분의 최신 브라우저 나 클라이언트에서 더 이상 활성화되지 않는 HTTP/1 파이프 릴링을 많이 사용할 수있는 프레임 워크 및 서버에 대해 전적으로 편향되어 있다는 것입니다. 이는 프레임 워크를 크게 사용하지 않는 프로세스를 사용하는 데 더 나은 프로세스를 사용하는 데있어 매우 부정확하고 불합리한 통계 세트를 제공 할 수 있습니다.
이곳은 Rewrk가 들어오는 곳으로,이 벤치 마커는 Hyper의 클라이언트 API 위에 구축되어 많은 장점과보다 현실적인 벤치마킹 방법을 제공합니다.
CLI를 사용하여 컴파일 된 바이너리가있는 경우 사용량은 비교적 간단합니다.
다음은 다음 벤치 마크를 제작하는 예입니다.
-c 256 )--http2 )-t 12 )-d 15s )--pct )http://127.0.0.1:5000 ( -h http://127.0.0.1:5000 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 실행하십시오