English | 中文
a proxy tool for HTTP/HTTPS benchmark test
- HTTP/HTTPS proxy
- benchmark for api request
- statistics spend time,success count and error count of requests
- replace data(query's param or body) by tag in proxy request
- check request api response data and status for diagnose success or fail
self-provision certificates is optional while using HTTPS
openssl genrsa -out ca.key 2048
openssl req -new -x509 -key ca.key -out ca.crt -days 1095
move ca.* resources/
- Update the system's trusted certificates
benchmark-proxy --port {port}
curl -x 127.0.0.1:9900 https://www.baidu.com -H 'Benchmark-Proxy-Times:1' -H 'Benchmark-Proxy-Concurrency:1'
Header | Meaning |
---|---|
Benchmark-Proxy-Times | indicate how many times exec in each http request |
Benchmark-Proxy-Duration | indicate how much second exec in each http requests |
Benchmark-Proxy-Concurrency | concurrency in running |
Benchmark-Proxy-Check-Result-Status | indicate the response status to determine whether request is success |
Benchmark-Proxy-Check-Result-Body | indicate the response body to determine whether request is success |
example :
Benchmark-Proxy-Check-Result-Status: 200
Indicate http request is success that response status is 200Benchmark-Proxy-Check-Result-Body: hello world
Indicate http request is success return that http response body is ' hello world'Benchmark-Proxy-Check-Result-Body: @Reg[\w]
Indicate http request is success return that http response body is satisfied with provider regexp rule
Provide the following label in request data, and the program will replace it with the real value.
Tag | Example |
---|---|
${uuid} | d035581b-53a3-48e5-9461-ba24709f06c9 |
${int} | 77 |
${float} | 0.94 |
${string} | 762edb6805 |
${incr} | 1(default:1,it will auto increment in every proxy request ) |