接口性能测试实战小结(附点评)

百度搜索:小强测试品牌

本文来自小强测试品牌学员作品,欢迎大家多多投稿,也期望各位学员再接再厉!

背景

有一个接口http的接口,GetPaymentURL,传递参数很简单,就是一个sessionID(类似于订单号),这个接口本身并没有什么东西,但是他调用了另外一个模块钱包的接口,钱包最终会返回一个paymenturl等信息给到GetPayment这个接口。

一句话,GetPyamentURL只时负责传递参数给到钱包的接口,主要业务逻辑都是在钱包里面,最终由钱包把结果返回给GetPaymentURL ,拿到结果后再做简单的处理,把结果返回出来。

小强点评:明白一个接口的逻辑是非常重要的,实际中我发现很多人只关注技术,却不关注业务逻辑,导致很多一步可以完成的事情偏偏走了N步,得不偿失啊!

问题

当时遇到一个情况,调用getpaymenturl接口有时非常慢(只是1个用户进行调用,100次内有27次是20秒以上,最长的都达到30秒以上。我这只是单个用户进行请求啊,怎么能这么慢),但是直接调用钱包的接口非常快。而且都是在同一网络下用一个用户分别进行测试100次,都是在我们公司的内网发出请求的请求。

小强点评:我就想说棒棒哒,哈哈

分析

首先,因为直接调用钱包接口,响应正常。所以我觉得问题应该是在getpaymenturl这里。

我利用LR,把getpaymenturl的结果分析了一下,发现buffer time非常长,进一步分解,得到server time很慢,net time是正常的。所以我怀疑是不是GetPaymentURL接口本身的server端问题,导致慢。但又觉得说不过去啊,这个接口只是做了简单的传递,怎么会这么慢,不太可能?所以我觉得还是保留一下网络的原因。

然后我又想,不对啊,为什么直接调用钱包接口,都正常,说明网络是正常的。后来与同事确认后,后来发现直接调用钱包接口走的是公网(开发给我的测试地址是公网的),而getpaymenturl应该走的是专线。虽然最终都是到达同一台服务器进行处理,但是他们走的网络节点是不一样的。所以现在我更加肯定,网络+VPOS都有可能有问题。

小强点评:分析逻辑严谨,能放能收。抓住网络路径的不同找突破口

这里还有一个小故事。VPOS一开始其实用的是公网地址,然后我们这边的一个同事,配置了一个什么代理,就是无论VPOS用什么公网地址,都会被这个代理,转一下,最终跳到一个固定的地址,然后再从这个地址转出去,再到钱包。

这样搞,显然不行,一是对于这种涉及到钱的交易,肯定是走专线地址的。 而是即使走公网,为什么还绕了这么大一圈子,通过配的什么代理,兜一圈再出去。。。

于是立马,让同事修改成为指向钱包的专线地址,重新测试了一下,结果一切正常。

虽然结果有点大跌眼镜,既不是网络原因,也不是VPOS服务端的原因,而是莫名其妙的被兜了个大圈子,导致响应时间较慢。

这是最终用单个用户请求了200次的结果:

小强点评:为什么性能测试好玩?就是你会发现有时候你玩他,有时候他玩你啊,就和大家为啥都爱看悬疑推理破案片一个道理,所以耐心、坚持、逻辑思维真心很重要。不过这里我建议用的工具要保证一致性,毕竟每个工具的统计原理不一样,如果换着用会对数据的比较造成一定的干扰。这里学员用了jmeter,而上面用的是loadrunner。

总结

1. 遇到这种接口很慢的情况,无非就是网络+Server端的原因。

2. 对于这种接口调接口的情况(某个接口本身封装了另外一个接口),可以进一步拆分。比如直接调用钱包的接口,看看他是否正常,如果他本身就有问题,那肯定是要首先分析钱包的接口。 如果钱包接口本身没有问题,那就要分析是不是getpaymenturl本身接口的问题

3. 遇到问题,要与相关人员进行确认。

小强点评:这里的总结看起来短短几字却透出了我一直传达的一个信息,那就是分析问题要学会分层拆分!只有把大的拆成小的我们才能慢慢找到突破口,很多人觉得分析难不会分析,本质就两点,一点是基础不够扎实,二点就是不会拆分,不知道该怎么一步步拆解。

如果对你有一丢丢帮助,转发+点赞=支持

时间: 2024-10-06 00:26:52

接口性能测试实战小结(附点评)的相关文章

使用Jmeter测试MD5加密接口性能测试实战

性能测试过程中,有时候会遇到需要进行加解密的接口,下面我就来介绍如何针对MD5加密接口进行性能测试 1.首先找开发了解需求,知道是一个http类型的post请求,需要对请求的applianceId参数进行MD5加密处理,然后把该参数输入到sign,最后发起请求给服务器 2.我们需要做的就是问开发难道MD5加密函数(java),然后通过jmeter的前置处理器BeanShell PreProcessor,就可以实现该效果 3.由于applianceId也需要参数化,所以需要使用CSV数据文件处理进

【三】Jmeter接口自动化测试系列之Http接口自动化实战

作者:大虫 本文介绍 Jmeter 工具的 http 接口 自动化测试 实战! 为了通用性,就拿知乎 网站作为实战例子吧! 必备技能:http接口基础知识.抓包,本文不做详细介绍,不会的可以先百度恶补! 首先,我们把 知乎登录的包抓下来: 我们抓一下 获取 Jmeter 对应脚本如下: 获取发现栏目脚本: 使用正则表达提取器,提取栏目内容(what?不会正则表达式?找百度) 使用 foreach 控制器将提取结果合并到一个字符串 打印结果: 运行结果: 在进行http 接口测试的时候,通常需要注

C#接口性能测试--计算执行时间

在做程序的时候,肯定会遇到给他人提供接口,或者使用他人接口的地方.对于一个开发者来说,不管是提供给他人的接口还是,自己提供给他人的接口.都要进行测试. 对于很多的测试,需要详细的记录 该接口的时间范围,比如 该接口的性能为   10ms 100ms的地方. 既然要了解每个接口的性能,该测试不是为了 测试接口的正确性,只是在测试正确性的时候 同时,记录一下该接口的执行时间. 最近,因为要开发一个新项目,而且新项目中会用到旧系统的接口.所以需要对旧系统提供的接口进行测试,进而决定,里面的接口是否需要

Jmeter Http接口性能测试

Jmeter Http接口性能测试 1.      启动Jmeter Jmeter下载解压即可使用,Jmeter启动,点击D:\ProgramFiles\jmeter\apache-jmeter-2.8\bin下的jmeter.bat就可以了. 2.      添加线程组 如下图添加线程组 线程组相当于loadrunner的vuser,这里配置线程组的各项内容.主要有以下几点需要配置: 1)线程数:设置发送请求的线程数目. 2)Ramp-up period: 就是总共设定的线程数据在多长时间内启

接口性能测试方案 白皮书 V1.0

一. 性能测试术语解释 1. 响应时间 响应时间即从应用系统发出请求开始,到客户端接收到最后一个字节数据为止所消耗的时间.响应时间按软件的特点再可以细分,如对于一个 C/S 软件的响应时间可以细分为网络传输时间.应用服务器处理时间.数据库服务器处理时间.另外客户端自身也存在着解析时间.界面绘制呈现时间等. 响应时间主要站在客户端角度来看的一个性能指标,它是用户最关心.并且容易感知到的一个性能指标. 2. 吞吐率 吞吐率指单位时间内系统处理用户的请求数,从业务角度看,吞吐率可以用每秒请求数.每秒事

js中各种跨域问题实战小结(二)

这里接上篇:js中各种跨域问题实战小结(一) 后面继续学习的过程中,对上面第一篇有稍作休整.下面继续第二部分: -->5.利用iframe和location.hash -->6.window.name跨域实现 利用iframe和location.hash实现跨域 想必有很多人像我之前一样,或许只知道上面文中所说的那几种方法.所以,我刚了解到可以用iframe和location.hash来实现跨域的时候,我会想,为什么他们可以实现.iframe是什么,有什么特性,location.hash是什么

PHP性能测试实战视频教程

PHP项目性能测试实战课程 课程观看地址:http://www.xuetuwuyou.com/course/44 课程出自学途无忧网:http://www.xuetuwuyou.com/ 本课程模拟一个电商的PHP项目,对项目中的关键点进行分析,同时通过具体的实战来引出典型的性能问题,并进行分析解决.除此之前也会介绍代码级别的性能测试过.但最重要的是通过此次项目掌握分析问题的思路和方法. 课时1:项目介绍 课时2:需求分析 课时3:场景设计 课时4:典型问题实战1 课时5:PHP的监控方法 课时

JAVA性能测试实战之真实OA系统开发教程

JAVA项目性能测试实战之真实OA系统开发课程 课程观看地址:http://www.xuetuwuyou.com/course/31 课程出自学途无忧网:http://www.xuetuwuyou.com/ 通过一个真实在用的OA系统展示一个性能测试项目如何进行,包括但不限于环境搭建.性能需求分析.性能 指标制定.场景设计.脚本开发.监控部署以及性能结果分析与优化.没有废话更多的是实在接地气的知识 . 1-课程介绍与项目介绍 2-测试环境搭建和被测程序部署 3-性能测试需求分析 4-性能测试用例

Web开发典藏大系:Web性能测试实战详解 PDF扫描版

本书主要讲解了大数据背景下的Web性能测试的特点和方法,以及使用业内应用非常广泛的工具――LoadRunner 11进行性能测试的具体技术与技巧.本书理论结合实践,讲解图文并茂,并且将IT技术与生活场景结合起来,生动而又形象. 本书共17章,分为5篇.第1篇介绍软件测试的定义.方法和过程.Web应用开发与测试等内容:第2篇介绍Web应用技术.Web性能测试的基础.Web性能测试的方法和各操作系统性能计数器的获取等内容:第3篇介绍如何使用LoadRunner进行Web应用性能测试,包括LoadRu