stress test is build by golang and vegeta. Hope find a good solution privode to you about stress testing.
golang: Who use, who know.
vegeta: It`s a good testing tools.
Now only support GET and POST methods.
host: 127.0.0.1 port: 8012 times: 4 rate: 4 timeout: 150 resultPath: D:/SelfStudy/GoProject/data/ testResulName: testing requestType: get requestPath: / requestData: ''
host: 127.0.0.1
port: 8012
times: 4
rate: 4
timeout: 150
resultPath: D:/SelfStudy/GoProject/data/
testResulName: testing
requestType: post
requestPath: /form_post
requestData: '{"id":"PERM-25-a811-4951-8fef-3057091d8992"}'
Running by docker
1. Docker >= 1.9(if you have not install docker, please reference https://docs.docker.com/v1.12/).
2. cd ${work directory}/stress_testing
3. docker build -t stress_test:latest
4. docker-compose up -d (if you have not install docker-compose, please reference to https://docs.docker.com/v1.12/compose/install/)
Add a mount point in docker-compose file
For convenient to running and find result,better add a volumes.
volumes:
- /home/csapp/stress_test/tmp:/go/src/stress_test/tmp
- /home/csapp/stress_test/conf/conf.yaml:/go/src/stress_test/conf/conf.yml
latencies: Latencies holds computed request latency metrics. earliest: First is the earliest timestamp in a Result set. latest: Latest is the latest timestamp in a Result set. end: End is the latest timestamp in a Result set plus its latency. duration: Duration is the duration of the attack. wait: Wait is the extra time waiting for responses from targets. requests: Requests is the total number of requests executed. rate: Rate is the rate of requests per second. success: Success is the percentage of non-error responses. status_codes: StatusCodes is a histogram of the responses' status codes. errors: Errors is a set of unique errors returned by the targets during the attack.
Keep update to here for latest changed. Thanks for you love it.