在日常生活中、我们经常要对我们的网站API 进行测试,随着数据的增多。我们要时刻知道,我们网站API的抗压性是否还支撑,我们的API是否还是健壮的。
因此,我给大家推荐一个很实用的压测工具(siege)。推荐这个理由是因为它压测结果清晰明了,能合理可视化让我们知道我们API哪里比较慢。最重要的一点是它操作简单方便、并且我下面教程是我一步一步走完写出来发给大家的。
下载地址 : Index of /siege 我用的是siege-4.0.4.tar.gz
安装开始:
1. 安装包 上服务器 走你;
2. 解压 安装包 tar -xzvf siege-4.0.4.tar.gz
3. 然后 当然是进目录啦,cd siege-4.0.4.tar.gz
4. 然后 ./configure ,执行就完了
5. 继续 make ,继续执行就完了
6. make install ,执行万就可以用了,就是这么简单。
如果中途哪里出错,微信群请教或者百度一一解答。
参数:
网络异常,图片无法展示
|
顺便这边我举一个小例子:
- 接口地址是:http://118.212.149.xx:8080/xx/xx/xx
- 请求类型 : POST
- 请求参数 : {“accountId”:”123”,”platform”:”ios”}
- 请求时间 :10秒
- 无延迟
- 请求并发数量 : 200
siege -c 200 -t 10s -b 'http://172.81.208.169:8282/v1/api/ad POST <./postfile.json'
返回结果:
Transactions:165 hits //总请求次数165次 Availability:100.00 % //成功率100% Elapsed time:9.55 secs //使用时间 Data transferred:0.03 MB //总数据传输 Response time:0.05 secs // 响应时间,显示网络连接的速度 Transaction rate:17.28 trans/sec //平均每秒完成17.28次处理 Throughput:0.00 MB/sec//平均每秒传输数据 Concurrency:0.84 //实际最高并发连接数 Successful transactions:165 //成功请求次数 Failed transactions:0//失败请求次数 Longest transaction:0.12 //每次传输花费最长时间 Shortest transaction:0.02//每次传输花费最短时间
如果你们的请求参数是json串的话,需要把请求参数改成 一个以 <./postfile.json 的文件,简单来讲就是 一个后缀是 .json 的文件
还有一个小坑,比如post请求,json串,某些时候需要加请求头,那你 比如看上面参数 -H 后面跟信息,等等一系列。
那么get 方式更简单,直接url 参数请求就好。