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

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 还在等什么,快来一起讨论关注吧,公众号【八点半技术站】,欢迎加入社群

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进行规格选择与性能压测。
相关文章
|
1月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
86 2
|
2天前
|
编解码 监控 API
直播源怎么调用api接口
调用直播源的API接口涉及开通服务、添加域名、获取API密钥、调用API接口、生成推流和拉流地址、配置直播源、开始直播、监控管理及停止直播等步骤。不同云服务平台的具体操作略有差异,但整体流程简单易懂。
|
15天前
|
人工智能 自然语言处理 PyTorch
Text2Video Huggingface Pipeline 文生视频接口和文生视频论文API
文生视频是AI领域热点,很多文生视频的大模型都是基于 Huggingface的 diffusers的text to video的pipeline来开发。国内外也有非常多的优秀产品如Runway AI、Pika AI 、可灵King AI、通义千问、智谱的文生视频模型等等。为了方便调用,这篇博客也尝试了使用 PyPI的text2video的python库的Wrapper类进行调用,下面会给大家介绍一下Huggingface Text to Video Pipeline的调用方式以及使用通用的text2video的python库调用方式。
|
14天前
|
JSON JavaScript API
(API接口系列)商品详情数据封装接口json数据格式分析
在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦!
|
1月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
1月前
|
安全 API 开发者
Web 开发新风尚!Python RESTful API 设计与实现,让你的接口更懂开发者心!
在当前的Web开发中,Python因能构建高效简洁的RESTful API而备受青睐,大大提升了开发效率和用户体验。本文将介绍RESTful API的基本原则及其在Python中的实现方法。以Flask为例,演示了如何通过不同的HTTP方法(如GET、POST、PUT、DELETE)来创建、读取、更新和删除用户信息。此示例还包括了基本的路由设置及操作,为开发者提供了清晰的API交互指南。
95 6
|
2月前
|
存储 JSON API
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
——在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦! 淘宝API接口(如淘宝开放平台提供的API)允许开发者获取淘宝商品的各种信息,包括商品详情。然而,需要注意的是,直接访问淘宝的商品数据API通常需要商家身份或开发者权限,并且需要遵循淘宝的API使用协议。
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
|
11天前
|
监控 API 开发工具
深入理解API设计:构建高效的接口
【10月更文挑战第6天】深入理解API设计:构建高效的接口
32 0
|
1月前
|
设计模式 Java API
Quarkus RESTful API性能揭秘:如何打造极速响应的应用程序?
在互联网高速发展的背景下,企业对应用性能的要求日益提升。Quarkus作为一款基于Java的开源框架,以出色的性能和简洁的设计模式成为开发者的首选。本文通过实例展示如何利用Quarkus构建响应迅速的RESTful API应用。首先创建Maven项目并配置Quarkus依赖,接着逐步实现用户管理系统的各个模块,包括实体类、数据访问层、服务层及资源层,最终完成一个高性能的RESTful API。通过Quarkus,开发者可以更高效地开发出轻量级且响应快速的应用程序。
39 1
|
17天前
|
API 数据安全/隐私保护 开发者
淘宝 API:关键词搜商品列表接口,助力商家按价格销量排序分析数据
此接口用于通过关键词搜索淘宝商品列表。首先需在淘宝开放平台注册并创建应用获取API权限,之后利用应用密钥和访问令牌调用接口。请求参数包括关键词、页码、每页数量、排序方式及价格区间等。返回结果含总商品数量及具体商品详情。使用时需注意签名验证及官方文档更新。