Background:
Recently, some web-related work has discovered the Performance Testing Tool webbench, which is very easy to use. However, the use process was not satisfactory, so the idea of improvement came into being.
Webbench is based on the GPL authorization protocol. I can naturally get the source code modification and then publish it as a webbench_pro project.
Introduction:
Webbenchpro is an easy-to-use Web Performance Testing Tool improved by webbench.
Webbenchpro is released according to GPL V2.0
Webbenchpro is a program written in C language following the POSIX standard.
The main changes are as follows:
0. changed the name --!
1. Correct the bug that the connection () server cannot be closed when it fails.
2. Use multiple threads instead of multiple processes to provide higher efficiency
3. Automatic resource limit detection and setting (number of threads and number of opened files)
4. After the test time is reached, close the socket quickly without waiting for the server to respond (this will take a lot of time in the case of Wan)
5. added the HTTP response number detection function to identify whether HTTP returns the correct information (http2xx)
6. re-organize the code structure to make it easier to read (in fact, global variables and other variables are still flying over the sky and will be changed later)
Example:
[dave@dave webbench_pro]$ webbench_pro webbenchpro [option]... URL -f|--force Don't wait for reply from server. -r|--reload Send reload request - Pragma: no-cache. -t|--time <sec> Run benchmark for <sec> seconds. Default 30. -p|--proxy <server:port> Use proxy server for request. -c|--clients <n> Run <n> HTTP clients at once. Default one. -9|--http09 Use HTTP/0.9 style requests. -1|--http10 Use HTTP/1.0 protocol. -2|--http11 Use HTTP/1.1 protocol. --get Use GET request method. --head Use HEAD request method. --options Use OPTIONS request method. --trace Use TRACE request method. -?|-h|--help This information. -V|--version Display program version.
[dave@dave webbench_pro]$ webbench_pro -c 10000 http://127.0.0.1/WebBenchPro - Advanced Simple Web Benchmark 0.1Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Modified By Davelv 2011-11-03Set NOFILE limit failed. Try less clients or use higher authority or set "ulimit -n -u" manualy
[root@dave webbench_pro]# webbench_pro -c 10000 -t 10 http://127.0.0.1/WebBenchPro - Advanced Simple Web Benchmark 0.1Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Modified By Davelv 2011-11-03Benchmarking: GET http://127.0.0.1/ (using HTTP/1.1)10000 clients, running 10 sec.Speed=5105 pages/sec, 19970823 bytes/sec.Requests: 51050 ok, 0 http error, 0 failed.
Project resources:
Home https://github.com/davelv/WebBenchPro
Git git: // github.com/davelv/webbenchpro.git
Code https://github.com/davelv/WebBenchPro/zipball/master
Webbench homepage http://home.tiscali.cz /~ Cz210552/webbench.html