如何高效进行 API 的接口性能压测?

2020-06-09 12:29:20 浏览数 (1)

API 性能压测、简单/高效

今天是周二(2020-04-14),分享一句谚语 “积累知识、胜过积蓄金银分享给大家的是 「工具 模块」- siege API 性能测试。

目前小编在业余时间开发一款PHP开源框架 - (BDB-frame)。各位放心,实战、实用的技术干货也不会中断,在这里希望能帮助到大家。也感谢大家的支持。

01

2分钟快速/准确/安装步骤

今天在这里我会分享给大家一款超实用工具-siege 。它是用来对我们写的API 接口做性能测试的。

为什么嘛推荐siege ,因为它整体安装步骤简单 - 返回参数详细 - 上手快。

有兴趣的朋友,可以根据此文操作操作,如果途中遇到问题(几乎不会),可以加入wechat 技术交流群(文章底部),进行提问解答。

第一步:

下载siege的安装包,我用的是siege-4.0.4.tar.gz 版本的。

代码语言:javascript复制
下载地址:http://download.joedog.org/siege/

第二步:

将刚才下载下来的安装包,上传到服务器,记得解压哈

第三步:

我们进入解压好的目录

代码语言:javascript复制
cd siege-4.0.4.tar.gz

然后我们执行

代码语言:javascript复制
./configure

继续执行

代码语言:javascript复制
 make

第四步:

这就是最后,执行完下述步骤全部也就完成了。

代码语言:javascript复制
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 是日志,将结果输出一份到日志(日志查看可以看配置目录默认指向地址)。

代码语言:javascript复制
siege -c 100 -r 6 -l https://www.xxx.com

其他参数根据自己压测需求进行添加。

第二种 - post 方式:

参数说明:如果你们的请求参数是json串的话,需要把请求参数改成 一个以 <./postfile.json 的文件,简单来讲就是 一个后缀是 .json 的文件

代码语言:javascript复制
siege -c 200 -t 10s -b 'http://172.81.208.169:8282/v1/api/ad POST <./postfile.json'

注意:还有一个小坑,比如post请求,json串,某些时候需要加请求头,那你 比如看上面参数 -H 后面跟信息,等等一系列。

到这里也就结束了、如果你有疑问,欢迎进入wechat技术群交流群。

在可以的前提下,关注一波公众号【八点半技术站】,也是我坚持的一种动力,谢谢。

————————end————————


0 人点赞