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

简介: 还在等什么,快来一起讨论关注吧,公众号【八点半技术站】,欢迎加入社群

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/

image.gif

第二步:

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

第三步:

我们进入解压好的目录

cd siege-4.0.4.tar.gz

image.gif

然后我们执行

./configure

image.gif

继续执行

make

image.gif

第四步:

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

make install

image.gif

大家看到,我拆分的 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" 设置代理测试请求

返回参数说明:

image.gif编辑

这些参数分别代表:

           返回参数名称                    说明
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

image.gif

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

第二种 - post 方式:

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

siege -c 200 -t 10s -b 'http://172.81.208.169:8282/v1/api/ad POST <./postfile.json'

image.gif

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

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

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

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


恭喜你,又看完了一篇文章。

在这里,也希望你看完的每篇文章都能对自己有所提升(哪怕是帮助你再次巩固记忆)。

欢迎在wechat技术群一起交流成长(xzzs730)。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
12天前
|
消息中间件 Java 测试技术
性能工具之Jmeter扩展函数及压测ActiveMQ实践
【5月更文挑战第18天】性能工具之Jmeter扩展函数及压测ActiveMQ实践
44 5
|
5天前
|
监控 数据挖掘 API
京东商品API接口:电商数据自动化的钥匙
京东商品API接口为电商领域带来了巨大的便利和潜力。通过本篇文章,读者应该能够了解如何使用京东商品API接口,并通过示例代码学习如何实际调用API获取商品数据。 随着技术的不断发展,京东商品API接口将继续为电商自动化、数据分析和市场研究提供支持,帮助商家和开发者在竞争激烈的市场中保持领先。我们鼓励读者继续探索和学习,充分利用京东商品API接口带来的机遇。
|
5天前
|
存储 弹性计算 网络协议
【阿里云弹性计算】ECS实例性能测试报告:阿里云实例性能横向评测
【5月更文挑战第27天】阿里云ECS性能横向评测对比了经济型e系列、计算型c7a系列实例的CPU、内存、网络和存储性能。使用SPEC CPU 2017、Stream、iperf和fio工具进行测试。结果显示,计算型c7a系列在CPU和网络性能上突出,经济型e系列性价比高。所有实例内存性能良好,ESSD云盘提供出色存储性能。用户应根据业务需求选择合适实例。
22 0
|
5天前
|
监控 数据可视化 测试技术
性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控
【5月更文挑战第23天】性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控
29 6
性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控
|
7天前
|
JSON JavaScript Java
性能工具之Jmeter压测Thrift RPC服务
【5月更文挑战第21天】性能工具之Jmeter压测Thrift RPC服务
20 1
|
10天前
|
网络协议 JavaScript 前端开发
性能工具之Jmeter压测Hprose RPC服务
【5月更文挑战第19天】性能工具之Jmeter压测Hprose RPC服务
26 5
|
15天前
|
监控 安全 数据挖掘
Email 接口API有哪些?具体分析一下阿里云和AOK的优点
本文介绍了常见的Email接口API,如阿里云邮件推送、AOKSend、SendGrid、Mailgun和Amazon SES。阿里云API以其高稳定性和数据分析功能脱颖而出,支持批量发送和多语言;而AOKSend API以易于集成、高安全性和优秀客户支持为亮点。企业在选择时应考虑自身需求和预算,以优化邮件营销效果。
|
15天前
|
定位技术 API
Angular 调用导入百度地图API接口,2024春招BAT面试真题详解
Angular 调用导入百度地图API接口,2024春招BAT面试真题详解
|
16天前
|
JSON 安全 API
解锁淘宝商品评论API接口:电商数据分析的新视角
淘宝商品评论API接口是淘宝开放平台提供的一组API接口,允许开发者通过编程方式获取淘宝商品评论数据。这些接口可以获取到商品的详细信息、用户评论、评分等数据,为电商数据分析提供了丰富的素材。
|
16天前
|
缓存 负载均衡 安全
探索API接口开发(定制与开发接口)
在当今数字化、互联互通的时代,API(应用程序编程接口)已经成为连接不同软件、服务和应用的关键桥梁。API接口开发,作为软件架构和系统设计的重要组成部分,不仅影响着数据交换的效率,更决定了整个系统的灵活性和可扩展性。本文将深入探讨API接口开发的各个方面,包括其重要性、开发流程、最佳实践以及面临的挑战。