单接口性能测试

单接口性能需要如何操作?单接口性能需要关注哪些数据?

单接口性能测试方法:

 工具:jmeter

使用Jmeter发起一个HTTP请求,Request为Json格式

1.创建测试计划:右键测试计划 -> 添加 -> 线程(用户) -> 线程组

 

 

 2.右键线程组 -> 添加 -> 取样器 -> HTTP请求

 

 

 3.录入接口信息:我们使用抓包工具抓取到了博客园的获取全站动态的接口,以此为例,接口如下

 1 获取最新10条博客文章
 2 Url: https://home.cnblogs.com/ajax/feed/recent
 3 
 4 HTTP Method: Post
 5 
 6 Request:
 7 {
 8     "feedListType":5,
 9     "appId":"",
10     "pageIndex":1,
11     "groupId":""
12 }

 

 

 4.添加一个HTTP信息头管理器:这里存放Request Headers,因为jmeter默认的请求数据类型是form的,所以使用json格式的请求数据需要在HTTP信息头管理器中设置

 1 Content-Type: application/json; charset=UTF-8 

 

 

 

 

 

 5.最后添加一个查看结果树来查看请求的响应数据

 

 

 6.运行HTTP请求,我们可以看到返回数据就是博客园的最新动态了

 

 

 

Request为Form格式

1 Url: https://data.cma.cn/weatherGis/web/weather/weatherFcst/getCurrentCondition
2 
3 HTTP Method: Post
4 
5 Request:
6 staId: 54511

1.步骤与json格式的基本相同,需要修改的点在于Requset Data的位置 

 

 

 2.因为是form格式请求数据,所以HTTP信息头管理器中的Content-Type要设置为

 1 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 

3.设置完成运行HTTP请求然后查看结果树就可以看到请求的响应数据了。

原文出处:https://www.cnblogs.com/ezrealli/p/11343866.html

 

单接口性能测试关注点

基本性能测试:

1、QPS;
2、平均响应时间;
3、吞吐率;
4、错误率;
5、空结果率;

需要压测求出极限QPS,然后查找到系统瓶颈,比如你压测到130个线程,QPS到达1500后不再上升,那么此时就需要查看CPU、磁盘IO、内存、以及网卡流量等查找系统瓶颈在哪里;
如:nlp压测时结论:hot_new接口shyc2机房最高QPS能达到2300左右,带宽占用最大在800M左右;根据压测结果显示整体性能的瓶颈不受限于CPU和带宽,据分析可能与网络IO有关;

 

稳定性测试:

需要选择cpu达到50%左右时的线程数进行压测,否则压测意义不明显;

1、QPS
2、CPU占有率;
3、磁盘IO波动;
4、内存是否存在泄漏,但存在部分程序比较特殊,xx引擎title人名策略测试:内存一直增加,沟通后得知,此接口的内存是不会释放的,会一直增加,但增加到一定数值(目前看大概增加到5G后逐渐趋于平稳);
5、网卡流量,分为内网和外网流出进入等;
6、是否有coredump(核心转储)文件产生;
7、数据库的写入;

 

单机并发计算

单机pv = pv量/10个机房/机器数
QPS = 单机pv/10h(高峰)*3600

 

posted @ 2021-07-07 15:27  WJ-HAHA  阅读(923)  评论(0编辑  收藏  举报