https://github.com/tbarbette/wrk-quic
WRK with QUIC support
https://github.com/tbarbette/wrk-quic
Last synced: about 2 months ago
JSON representation
WRK with QUIC support
- Host: GitHub
- URL: https://github.com/tbarbette/wrk-quic
- Owner: tbarbette
- License: apache-2.0
- Created: 2020-11-04T15:40:38.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-16T16:47:31.000Z (6 months ago)
- Last Synced: 2025-04-10T23:16:52.038Z (about 2 months ago)
- Language: C
- Size: 1.54 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WRK-MultiProtocol
**a TCP/HTTP & QUIC/HTTP benchmarking tool based on wrk and wrk2**
On top of the new QUIC support, WRK-MP still fully supports WRK1/2 features, with even some improvements.
This repository is a modified version of WRK2 [http://github.com/gilene/wrk2](wrk2) with support for QUIC and various small improvements
QUIC support is now limited to HTTP 0.9 over QUIC, made to work against PicoQUIC HTTP server (using the hq ALPN). It also only supports disabled keep-alive for now.
The QUIC support is built using the picoquic library. Refer to picoquic for installation. To enable QUIC support, you must use the -q flag. Except for that most wrk2 documentation applies. We just changed a bit the default behavior, so if you omit the rate (or give -R -1) WRK will behave like the original version, trying to push as many request as possible.
## Building
```
./autogen.sh
./configure
make
sudo make install
```## Support for QUIC
To support QUIC, you must have [https://github.com/private-octopus/picoquic](https://github.com/private-octopus/picoquic) installed first.
```
git clone https://github.com/private-octopus/picoquic.git
cmake -DPICOQUIC_FETCH_PTLS=Y .
make
```## QUIC usage example
Launch a QUIC server, for instance using picoquic.
```
./picoquicdemo -p 4433
```Launch wrk-mp with:
```
./wrk -a -R 0 --timeout 100 -q -t 1 -c 1 https://127.0.0.1:4433/1000
Running 10s test @ https://127.0.0.1:4433/1000
1 threads and 1 connections
Rate is disabled, latency is not corrected Thread Stats Avg Stdev Max +/- Stdev
Latency 667.37us 191.23us 5.13ms 85.06%
Req/Sec -nan -nan 0.00 0.00%
12728 requests in 10.00s, 12.55MB read
Requests/sec: 1272.78
Transfer/sec: 1.26MB
```