Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
1.16.0
Description
The throughput of the HTTP/1.x adaptor is so bad it is basically unusable.
Using the wrk HTTP load generator against an nginx server running in a container and serving 10 KB response "pages":
$ ./wrk/wrk -c 16 -t 4 -d20s http://127.0.0.1:8080/t10K.html
Running 20s test @ http://127.0.0.1:8080/t10K.html
4 threads and 16 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 554.12us 292.27us 13.51ms 86.10%
Req/Sec 7.21k 1.57k 19.57k 77.90%
575136 requests in 20.10s, 6.01GB read
Requests/sec: 28614.93
Transfer/sec: 306.00MB
Same test running across a single qdrouterd instance:
[kgiusti@localhost http1-perf (master)]$ ./wrk/wrk -c 16 -t 4 -d20s http://127.0.0.1:8000/t10K.html
Running 20s test @ http://127.0.0.1:8000/t10K.html
4 threads and 16 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 14.51ms 13.93ms 244.87ms 98.68%
Req/Sec 302.50 39.30 370.00 76.13%
23998 requests in 20.02s, 256.07MB read
Requests/sec: 1198.81
Transfer/sec: 12.79MB
See https://github.com/kgiusti/dispatch-tester/tree/master/benchmarks/test-configurations/http1-perf for test setup details.