Benchmark tool for go-cdn-booster or any other http/1.1 server.
This tool is similar to the well known 'ab' tool. The main difference
is that this tool issues HTTP/1.1 'Connection: Keep-Alive' requests
over the limited number of open connections. The number of such connections
is equivalent to workersCount.
Known limitations:
* It cannot test HTTP servers without HTTP/1.1 keep-alive connections
support.
* Currently it shows only the following stats:
* time taken for the test
* Kbytes read - total Kbytes read from responses' bodies
* qps - average queries per second
* Kbps - average Kbytes per second received from the server.
------------------------
How to build and run it?
$ sudo apt-get install golang
$ go get -u github.com/valyala/ybc/apps/go/cdn-booster-bench
$ go build -tags release github.com/valyala/ybc/apps/go/cdn-booster-bench
$ ./cdn-booster-bench -help
-------------------------
How to test nginx performance with go-cdn-booster-bench?
1. Set temporarily requestsPerConnectionCount to keepalive_requests value
in nginx config (100 by default).
2. Run cdn-booster-bench -testUrl=http://nginx-host/path_to_test
3. Return back keepalive_requests to old value.
Currently go-cdn-booster outperforms nginx by ~2x on my laptop - 58Kqps vs
32Kqps with 12Kb file.
Benchmark tool for go-cdn-booster or any other http/1.1 server
This tool is similar to the well known 'ab' tool. The main difference
is that this tool issues HTTP/1.1 'Connection: Keep-Alive' requests
over the limited number of open connections. The number of such connections
is equivalent to workersCount.
Known limitations:
It cannot test HTTP servers without HTTP/1.1 keep-alive connections
support.
Currently it shows only the following stats:
time taken for the test
Kbytes read - the total size of responses' body
qps - average queries per second
Kbps - average Kbytes per second received from the server.