首页 > 其他分享 >全栈性能测试教程之性能测试理论(一) mockserver应用

全栈性能测试教程之性能测试理论(一) mockserver应用

时间:2022-12-02 21:05:02浏览次数:33  
标签:00 性能 全栈 json 内存 测试 每秒

性能测试理论(一) mockserver应用

1、mockServer

1.1什么是mockServer

moco=替代     Server=服务

mocoServer即为测试替身的服务

主要针对于单元测试的应用,主要应用于解除单元测试之间的依赖

1.2mocoServer使用的场景

前端程序员

前端已经写好页面,但是后端的接口没有写好,

正确的姿势就是前端模拟后端的操作,具体方式如下

复制代码​

[
{
    "request":
    {
    "method": "get",
    "uri": "/products"
   },
    "response":
{
    "json":
{
    "name": "我真帅",
     "type": "WEB",
     "version": "V1.0.0",
     "master": "aaaa",
     "description": "this is a test api"
      }
     }
   }
]


启动的命令为:

java -jar -moco-runner-0.10.0-standalone.jar http -p 12315 -c product.json

其中 -p 为制定端口 -c 为指定文件

启动成功的标识:

java -jar moco-runner-0.11.0-standalone.jar http -p 12306 -c product.json
#启动后的输出
14 ⼆⽉ 2022 09:46:13 [main] INFO Server is started at 12306
14 ⼆⽉ 2022 09:46:13 [main] INFO Shutdown port is 58954
14 ⼆⽉ 2022 09:47:27 [nioEventLoopGroup-3-3] INFO Request received:

后端程序员

举例说明A给B服务一个车牌号,那么B返回车辆的其他信息

全栈性能测试教程之性能测试理论(一) mockserver应用_性能测试

 

[
{
"request":
{
"method": "post",
"uri": "/parking",
"json":
{
"park": "B250BA"
}
},
"response":
{
"json":
{
"park": "B250BA",
"in": "2022-2-14 00:00:00",
"out": "2022-2-14 12:00:00",
"money": "$250",
"master": "jiachao"
}
}
}
]

 然后我们在postman当中进行测试

全栈性能测试教程之性能测试理论(一) mockserver应用_json_02

 

 测试

在我们进行测试过程中,没有数据,解决方案如下

自己造数据

自己mock数据

具体方式如下

[
{
"request":
{
"method": "get",
"uri": "/products"
},
"response":
{
"json":
[
{
"name": "wo真帅",
"type": "WEB",
"version": "V1.0.0",
"master": "bbb",
"description": "this is a test api"
},
{
"name": "wozuishuai",
"type": "APP",
"version": "V1.0.1",
"master": "aaa",
"description": "this is a test api"
}
]
}
}
]

 2、性能测试相关知识

软件性能测试常用术语

2.1响应时间

一次操作完成后,也就是客户端发送请求到服务端后,服务端的响应数据时间,包含了用于等待和服务的时间

响应时间(Resoponse Time)=网络时间+应用程序的处理时间

全栈性能测试教程之性能测试理论(一) mockserver应用_json_03

 

 2.2并发用户数

性能测试的核心是验证当前系统是否支持现有用户的访问,也就是说系统可以承受同一时间段多少用户来访问系统

并发用户数:N个用户向服务发送请求

在线用户数:仅仅在线,但是并不代表发送了请求,僵尸用户

开发用户数秒可以说:不论从业务视角出发,还是服务端承受压力而言,描述的是同一时间同时向客户端发出请求的客户,某些时候也可以称为"并发测试",这中间主要体现的服务端承受的最大并发访问数。

2.3吞吐量

主要用于数据传输方面,也就是测试系统的执行效率。该术语用于描述数据传输速度(字节/秒或比特/秒),在某些情况下(如DB层面),吞吐量值得是操作的速度,也就是每秒操作数或者每秒业务数。或者可以说单位时间内客户端请求的数量,直接体现系统的性能承载能力。

2.4性能计数器

主要指的是性能测试过程中操作系统以及其他组件的一些数据指标

WebServer:HTTP连接数

应用Server:服务被部署的系统的CPU和内存资源

DataServer:IOPS

IOPS:该术语主要是针对数据库的,也就是每秒发生的输入/输出操作的次数,是数据传输的一个度量方法。用于磁盘的读写,IOPS值得是每秒读和写的次数。

性能测试的过程中,任何指标不能超过75%,一旦超过75%,说明可能存在瓶颈

2.5使用率

对于服务所请求的资源,使用率描述的所给定的时间区间内资源的繁忙程度。

Out Of Memory(OOM):内存泄漏

如果一个业务中,会使用到大量的内存资源,总的内存资源是4G,在⼀定数据量的情况下执⾏该 业务形态,内存使⽤率从100M⼀直占⽤到3G,然后随着业务形态内存资源得到释放呈下降的趋势,那么可以说内 存使⽤率最⾼为75%

2.6思考时间

思考时间英文名称是Think Time,也称为休眠时间,在业务视角,思考时间指的是用户在进行操作时,每个请求之间的间隔时间。

2.7TPS/QPS

事务指的是某个操作或者是⼀组操作的组合,如登录的事务那么就是输⼊账户和密码,点击登录按钮跳转到登录成 功的⻚⾯并且信息都加载出来。TPS统计的是每秒处理的事务数,即系统每秒能够处理的事务的数量。QPS指的是 每秒查询率,如DB服务器在规定时间内处理流量多少的衡量标准。

2.8相关测试理论

调度:

CPU密集型:应用程序执行繁重的计算,通常运行时间比较长,会占用大量的CPU

IO密集型:应用程序执行I/O,计算不多,会占用大量的内存资源 系统的最小粒度是线程,也就是说系统调度中粒度最细的就是对线程的调度。队列

线程优先级:

优先级程度是1-10 默认的优先级为5

队列:queue:先进先出原则

重点:600G的学习资料,懂的都懂

资料领取+v:【mashang-qq】备注【000】或者发送【000】领取

全栈性能测试教程之性能测试理论(一) mockserver应用_性能测试_04

全栈性能测试教程之性能测试理论(一) mockserver应用_json_05


标签:00,性能,全栈,json,内存,测试,每秒
From: https://blog.51cto.com/u_15876125/5907451

相关文章