找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
第17讲  jmeter 性能测试


1、讲下你怎么做接口测试?
你做哪些接口?
前期做单个接口一般用postman  jmeter,后期自动化python +requests实现

2、如果没有文档,用抓包工具fiddler或者f12
1)通过接口文档拿到当前需要测试的信息
url  接口的请求方式  接口的内容类型 协议 参数
2)在jmeter中添加一个线程组 添加一个http请求 把信息url 协议 ip端口
编码  参数
3)添加察看结果数 然后执行
4)执行完后查看返回的结果是否和接口文档一致

3、接口测试常见的bug?
1)接口没有实现,没按照规定返回结果
2)权限未处理,可以访问其他用户的权限


4、性能测试的应用场景
1)抖音点赞  ==》同时操作这个点赞功能
2)公司后台服务器,监控当前用户浏览了哪些网页,高峰期在那个时间段
3)测试人员在某个页面上发现响应比较慢,258原则  15s


5、性能测试的类型
1)基准测试:在给系统施加较低压力时,查看系统的运行状况并记录相关数
做为基础参考
2)负载测试:负载测试是对被测系统不断增加压力(即用户并发数),
直至性能指标 超过预期或者某项资源使用达到饱和状态(就是加压到系统崩溃)。
3)压力测试:压力测试是系统在一定饱和状态下,例如cpu、内存、
磁盘I/O在饱和使 用情况下,不断给系统施加压力,看系统的处理能力,
以及系统是否会出现错误。
4)稳定性测试:稳定性测试是在给系统施加一定压力,持续运行一段时间(7*24),
观察系统能否稳定运行。(也可以说是长时间的压力测试)
5)并发测试:并发测试是模拟多用户并发访问同一个应用、模块或者数据记录时可能
发生的性能问题(如内存泄漏、线程锁和资源争用方面的问题)。


6、jmeter 常见文件
bin 目录下jmeter.bat  windows 启动
bin 目录下jmeter.sh 是linux的启动文件
jmeter.properties ==》配置文件,修改字体大小 格式
==》设置分布式压测

7、性能测试取数据规则
1)用户并发数据量==》站在用户角度==》不断发送请求
当前cms 注册用户数5000==》注册用户数
5000注册用户==》在线用户数取注册用户数的10%==》500用户==》
登录这个功能==》存在多少并发==》1%-5%并发数 ==》取最大值25个

2)500,1000并发数这个并发很大了

3)吞吐量模式(RPS)==》站在服务器的角度,绕开了用户数,直接对服务器施压

8、性能测试的流程
需求的分析 :
1)线上用户提出:响应很慢 页面报错  超时
2)测试人员:发现了性能问题
3)产品经理自己提出的需要做性能
根据以上要考虑哪些场景


性能场景的设计
==》登录==》商品选购==》加入购物车==》下单

性能计划的编写
==》人力  资源 服务 并发数 cpu  内存 tps 达标这个标准

脚本的开发
==》badboy

性能环境和数据的准备

性能的执行
输入结果

性能结果分析

性能总结报告



9、并发测试聚合报告分析【重要】

聚合报告:生成此次性能的测试数据报告
Samples:测试一共发出的请求 ,虚拟用户循环次数
Average:平均响应时间,是单个Request的平均响应时间
Median:中位数,50%用户的响应时间在小于该值,这个值是指把所有
数据由小到大将其排列,就是 排列在第50%的值。
90%line:90%用户的响应时间小于该值,这个值是指把所有数据按由小到
大将其排列,就是排列在第 90%的值。
Min:最小响应时间
Max:最大响应时间
error%:错误的请求数/请求总数
Throughput:吞吐量---每秒完成的请求数
KB:耗流量,每秒从服务器端接收到的数据量


10、jmeter有哪些元件【重要】
1)逻辑控制器:业务上有需要循环去处理一些数据
2)配置元器件:处理一些默认请求所需要携带的数据如http 的头部信息
和cookie信息的处理
3)前置处理器:http请求之前需要完成的一些工作,如数据
库测试中的连接数据库的功能
4)后置处理器:关联需要用后置处理器,需要对响应数据做
处理需要用到后置处理器
5)断言:对结果进行校验
6)监听器:作用范围的每一个sample元件的信息并呈现。
7)定时器:(重点)

11、常见的性能指标
3)请求响应时间:指的是客户端发出请求后得到响应的整个过程的时间。

4)吞吐量:指的是在一次性能测试过程中网络上传输的数据量的总和。从业务角度
看。吞吐量能够用:请求数/秒、页面数/秒、人数/天等单位来衡量

5、QPS 每秒sql的执行或者查询数。
TPS:每秒处理事务的能力  例子:打开首页-登录-添加一个用户-退出==》1个tps
RPS:每秒请求数(点击量)
TPS= 并发数/平均响应时间
6、点击率:每秒钟用户向Web服务器提交的HTTP请求数。
【这些是性能重要指标】结合nmon监控服务器
【并发数,平均响应时间 最大响应时间 最小响应时间 错误率 tps cpu 内存 QPS rps】

12、性能测试结果分析
1)tps  是衡量服务器性能唯一的执行,和并发数没有太大关系
2)当压测接口的时候持续2分钟,当进行到rps达到一个最高点,达到41.9/s
当到达12s达到一个最高点20.1/s ,然后开始下降==》我们可以认为这个点是性能
测试的拐点
3)最大并发数的峰值rps*平响应时间=41.9*5234/1000 = 219个


13、性能调优
1、硬件上的性能瓶颈: 一般指的是CPU、内存、磁盘I/O 方面的问题,
分为服务器硬件瓶颈、网络瓶颈(对局域网可以不考 虑)、服务器操作系统瓶颈
(参数配置)、中间件瓶颈(参数配置、数据库、web服务器等)、
应用 瓶颈(SQL 语句、数据库设计、业务逻辑、算法等)。

2、应用软件上的性能瓶颈: 一般指的是应用服务器、web 服务器等应用软件,
还包括数据库系统。 例如:中间件weblogic 平台上配置的JDBC连接池的参数设置不合理,
造成的瓶颈。

3、应用程序上的性能瓶颈: 一般指的是开发人员新开发出来的应用程序。
例如,程序架构规划不合理,程序本身设计有问题(串行处理、请求的处理线程不够),
造成系统在 大量用户方位时性能低下而造成的瓶颈。

4、操作系统上的性能瓶颈: 一般指的是windows、UNIX、Linux等操作系统。
例如,在进行性能测试,出现物理内存不足时,虚拟内存设置也不合理,
虚拟内存的交换效率就 会大大降低,从而导致行为的响应时间大大增加,
这时认为操作系统上出现性能瓶颈。

5、网络设备上的性能瓶颈: 一般指的是防火墙、动态负载均衡器、交换机等设备。
例如,在动态负载均衡器上设置了动态分发负载的机制,当发现某个应用服务器上的
硬件资源 已经到达极限时,动态负载均衡器将后续的交易请求发送到其他负载较轻的
应用服务器上。在 测试时发现,动态负载均衡器没有起到相应的作用,这时可以认为
网络瓶颈。


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册