For example, in the recent past I used autobench/httperf and remember setting the tcp_tw_recycle to true, but I was pounding from many servers and trying to get 100K to 200K clients per second.
I was wondering if there is a setup guide that I a missing.
Are there any special setting?
# Connection timeout net.ipv4.tcp_fin_timeout = 10 net.ipv4.tcp_tw_recycle = 1 #net.ipv4.ip_local_port_range= # default was 30k ephemeral ports
There was no package manager. I notice you used Ubuntu after I installed centOS. CentOS is my knee jerk when I am not sure of the OS.
I did not find a package for wrk so I built it. Do you publish the version of wrk that you use?
Building wrk on centos
$ sudo yum groupinstall 'Development Tools'
$ sudo yum install openssl-devel
$ git clone https://github.com/wg/wrk.git
$ cd wrk
$ make
Is there a location of the benchmark run script? A wiki page... Bread crumbs?
Running wrk
./wrk -c 100 -d 30s http://192.168.50.90:8080/json
What is the right way?
Is it all in git?
Are there any special server setting?
sudo sysctl -w net.core.somaxconn=10000
sudo sysctl -w net.ipv4.tcp_max_syn_backlog= 10000
Vertx recommends the above, do you have a guide on how you setup the boxes?
No package yet. You may need to upgrade and update.
wrk needs openssl dev package and gcc/dev stack.
What follows is brief instructions on how to install wrk on Linux.
Ubuntu/Debian (clean box)
sudo apt-get install build-essential
sudo apt-get install libssl-dev
sudo apt-get install git
git clone https://github.com/wg/wrk.git
cd wrk
make
Installs the build tools, open ssl dev libs (including headers), and git. Then uses git to download wrk and build.
CentOS / RedHat / Fedora
sudo yum groupinstall 'Development Tools'
sudo yum install openssl-devel
sudo yum install git
git clone https://github.com/wg/wrk.git
cd wrk
make
Installs the build tools, open ssl dev libs (including headers), and git. Then uses git to download wrk and build.
rick@firefly:~/wrk$ ./wrk -H 'Accept: application/json,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' -H 'Connection: keep-alive' -c 200 -d 30s -t 2 -s pipeline-json.lua http://192.168.2.2:8080
Running 30s test @ http://192.168.2.2:8080
2 threads and 200 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 5.17ms 6.54ms 96.83ms 88.69%
Req/Sec 591.42k 162.19k 1.13M 63.74%
34215750 requests in 30.00s, 4.84GB read
Requests/sec: 1140534.77
Transfer/sec: 165.33MB
591K
rick@firefly:~/wrk$ ./wrk -H 'Accept: application/json,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7' -H 'Connection: keep-alive' -c 200 -d 30s -t 2 -s pipeline.lua http://192.168.2.2:8080
Running 30s test @ http://192.168.2.2:8080
2 threads and 200 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 4.53ms 5.80ms 106.19ms 89.31%
Req/Sec 677.06k 173.23k 1.22M 62.24%
39016230 requests in 30.00s, 4.80GB read
Requests/sec: 1300551.32
Transfer/sec: 163.72MB
677k
Results for vertx.
No comments:
Post a Comment