接口压测实践——压力测试常见参数解释说明

chatgpt/2023/9/27 16:52:10

使用场景​

对指定接口进行性能测试时,一些常见参数解释说明。

一键并发​

可以通过下载最新版的 Apipost 客户端实现单接口的高性能一键并发压测,如下图所示

注意:请勿设置太大的并发量或者循环次数,这有可能导致直接将被压服务压崩溃或者将路由器压崩溃。参考参考下方 【实践】部分建议。

底层原理​

为实现高性能的并发需求,使用自研的压测引擎,可以实现一万以上并发。
项目已经开源,

压测结果计算方式​

压测值含义计算方法
总请求数总共发送送请求总数并发数*轮次
执行时间压测任务执行时间任务结束时间-任务开始时间
成功请求数http请求code为200的请求数量
失败请求数http请求code非200或者连接异常请求数量
错误率压测出错比例失败次数/总请求数 * 1000
总接收数据总结接收到数据总字节数累加每次返回结果的字节数量
每秒请求数每秒平均请求数量请求总次数/请求总时间
每秒成功请求数每秒平均成功请求数量成功请求总次数/成功请求总时间
每秒接收字节数每秒接收平均字节数总接收字节数/总请求时间
最大响应时间最大请求执行时间所有请求中执行最长的时间
最小响应时间最小请求执行时间所有请求中执行最小的时间
平均响应时间平均响应时间请求总时间/请求总次数
10%前10%请求完成时间所有请求花费时间正序排序,取10%位置的执行时间
25%前25%请求完成时间所有请求花费时间正序排序,取20%位置的执行时间
50%前50%请求完成时间所有请求花费时间正序排序,取50%位置的执行时间
75%前75%请求完成时间所有请求花费时间正序排序,取75%位置的执行时间
90%前90%请求完成时间所有请求花费时间正序排序,取90%位置的执行时间
95%前95%请求完成时间所有请求花费时间正序排序,取95%位置的执行时间

实践​

并发结果很容易外界因素影响,压测时需要尽量减少外界因素影响。
因此选择合适并发数对测试接口性能非常重要,并非并发数越大越好。
影响压测结果外界因素有本机句柄数限制,dns解析速度,网络质量,服务端连接数限制等等。
例如使用1w并发, 很容易出现超过本机最大句柄数限制(一般最大限制1024), 超过句柄数限制的请求会因为句柄数受限导致连接失败。

并发数建议先在10, 100, 500, 1000左右分别测试下,如果失败率小于1%,再考虑逐步增加并发数量。只有增加并发每秒请求数量能持续增加才是健康使用方式

 总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

                                                              

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-5314137.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

【奥比中光Gemini 2L快速上门】

奥比中光Gemini 2L快速上手 目录 奥比中光Gemini 2L快速上手[TOC](目录) 一、下载配置环境1.1 官网下载SDK1.2 配置环境 二、测试2.1 在bin中运行示例2.2 配置cmake 三、CMAKE3.1 CmakeLists.txt中各设置的意义 一、下载配置环境 1.1 官网下载SDK 进入官网,下载名…

Kubernetes(K8s)从入门到精通系列之六:K8s的基本概念和术语之存储类

Kubernetes K8s从入门到精通系列之六:K8s的基本概念和术语之存储类 一、存储类二、emptyDir三、hostPath四、公有云Volume五、其他类型的Volume六、动态存储管理一、存储类 存储类的资源对象主要包括: VolumePersistent VolumePVCStorageClass基础的存储类资源对象——Volum…

vue 拦截 v-html 中 a 标签 href 跳转

记录 template 中 给需要 拦截的 代码片段加上click 方法 click“targetNodeNameClick” <p class"message-content message-content-text" v-html"replaceURLWithHTMLLinks(getText(message))" click"targetNodeNameClick"></p>然…

ip link add 命令

ip link add veth0 type veth peer name veth1 这条命令主要用于在 Linux 操作系统中创建一个新的 veth(虚拟以太网) 对&#xff0c;这是一种虚拟网络设备&#xff0c;用于在 Linux 命名空间&#xff08;namespaces&#xff09;之间创建网络连接。此命令将创建两个设备&#xf…

简单的知识图谱可视化+绘制nx.Graph()时报错TypeError: ‘_AxesStack‘ object is not callable

绘制nx.Graph时报错TypeError: _AxesStack object is not callable 写在最前面知识图谱可视化预期报错可能的原因 原代码原因确认解决后的代码解决&#xff01; 写在最前面 实现一个简单的知识图谱的可视化功能。 使用了NetworkX库来构建知识图谱&#xff0c;并使用matplotlib…

Beyond Compare和git merge、git rebase

文章目录 各个分支线将dev1 rebase进 dev2将dev1 merge进dev2 各个分支线 将dev1 rebase进 dev2 gitTest (dev2)]$ git rebase dev1local: 是rebase的分支dev1remote&#xff1a;是当前的分支dev2base&#xff1a;两个分支的最近一个父节点 将dev1 merge进dev2 gitTest (dev…

【redis】redis部署1主2从3哨兵demo搭建示例

redis版本为7&#xff0c;搭建的架构为1主2从3哨兵的架构。本文是对搭建的过程做一个回忆&#xff0c;过程可能遗漏了某些步骤&#xff0c;见谅。 首先&#xff0c;需要有一个已经安装了的redis。我们从redis源码目录中&#xff0c;找到一个redis.conf文件&#xff0c;这个文件…

07 定时器处理非活动连接(上)

07 定时器处理非活动连接&#xff08;上&#xff09; 基础知识 非活跃&#xff0c;是指客户端&#xff08;这里是浏览器&#xff09;与服务器端建立连接后&#xff0c;长时间不交换数据&#xff0c;一直占用服务器端的文件描述符&#xff0c;导致连接资源的浪费。 定时事件&a…
推荐文章