“ API 性能压测、简单/高效”
Hello,大家好。我是公众号“八点半技术站”的小编-Bruce.D。
今天是周二(2020-04-14),分享一句谚语 “积累知识、胜过积蓄金银” 。分享给大家的是 「工具 模块」- siege API 性能测试。
目前小编在业余时间开发一款PHP开源框架 - (BDB-frame)。各位放心,实战、实用的技术干货也不会中断,在这里希望能帮助到大家。也感谢大家的支持。
01
—
2分钟快速/准确/安装步骤
今天在这里我会分享给大家一款超实用工具-siege 。它是用来对我们写的API 接口做性能测试的。
为什么嘛推荐siege ,因为它整体安装步骤简单 - 返回参数详细 - 上手快。
有兴趣的朋友,可以根据此文操作操作,如果途中遇到问题(几乎不会),可以加入wechat 技术交流群(文章底部),进行提问解答。
第一步:
下载siege的安装包,我用的是siege-4.0.4.tar.gz 版本的。
下载地址:http://download.joedog.org/siege/
第二步:
将刚才下载下来的安装包,上传到服务器,记得解压哈
第三步:
我们进入解压好的目录
cd siege-4.0.4.tar.gz
然后我们执行
./configure
继续执行
make
第四步:
这就是最后,执行完下述步骤全部也就完成了。
make install
大家看到,我拆分的 4 步法,还认为难吗?如果还有问题没关系,加技术群提问即可。
02
—
参数相关说明
第二部分就是会告诉大家参数的相关说明,在我们使用siege的时候,参数我们可以自行选择,包括压测后的一个参数介绍。
总结就是:传入参数 - 简单。返回参数 - 明了。
输入参数:
参数名称 | 参数说明 |
-V,-version | 打印相关版本信息 |
-h,-help | 打印相关帮助信息 |
-C,-config | 显示相关配置信息 |
-g,-get | 显示HTTP交易 |
-c,-concurrent | 设置并发用户数 |
-u,-url="URL" | 设置被测web的URL |
-t,-time=NUM | 设置测试时间 |
-r,-reps=NUM | 设置测试次数 |
-f,-file=FILE | 更改配置文件存档 |
-d,-delay=NUM | 设置时间延迟 |
-l,-log | 测试日志 |
-H,-header="text" | 增加测试头文件 |
-A,-user-agent="text" | 设置代理测试请求 |
返回参数说明:
这些参数分别代表:
返回参数名称 | 说明 |
Transactions | 访问次数 |
Availability | 成功次数 |
Elapsed time | 测试用时 |
Data transferred | 测试传输数据量 |
Response time | 平均响应时间 |
Transaction rate | 每秒事务处理量 |
Throughput | 吞吐率 |
Concurrency | 并发用户数 |
Successful transactions | 成功传输次数 |
Failed transactions | 失败传输次数 |
Longest transaction | 最长响应时间 |
Shortest transaction | 最短响应时间 |
03
—
使用方法案例
第一种 - get 方式:
参数说明:-c 是并发量,并发数为100,-r 是重复次数,重复6次,-l 是日志,将结果输出一份到日志(日志查看可以看配置目录默认指向地址)。
siege -c 100 -r 6 -l https://www.xxx.com
其他参数根据自己压测需求进行添加。
第二种 - post 方式:
参数说明:如果你们的请求参数是json串的话,需要把请求参数改成 一个以 <./postfile.json 的文件,简单来讲就是 一个后缀是 .json 的文件
siege -c 200 -t 10s -b 'http://172.81.208.169:8282/v1/api/ad POST <./postfile.json'
注意:还有一个小坑,比如post请求,json串,某些时候需要加请求头,那你 比如看上面参数 -H 后面跟信息,等等一系列。
到这里也就结束了、如果你有疑问,欢迎进入wechat技术群交流群。
在可以的前提下,关注一波公众号【八点半技术站】,也是我坚持的一种动力,谢谢。
————————end————————
恭喜你,又看完了一篇文章。
在这里,也希望你看完的每篇文章都能对自己有所提升(哪怕是帮助你再次巩固记忆)。
欢迎在wechat技术群一起交流成长(xzzs730)。