请选择 进入手机版 | 继续访问电脑版

湖南新梦想

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 346|回复: 0

性能测试的相关内容

[复制链接]

30

主题

30

帖子

258

积分

中级会员

Rank: 3Rank: 3

积分
258
发表于 2022-6-18 09:56:07 | 显示全部楼层 |阅读模式
1、性能测试的概念性能测试是指通过特定方式,对被测系统按照一定策略施加压力,获取系统响应时间、TPS(TransactionPerSecond)、吞吐量、资源利用率等性能指标,
以期保证生产系统的性能能够满足用户需求的过程。
性能测试一般是指大数据量的测试。
2、性能测试一般包含3个方面:
应用在客户端性能的测试
应用在网络上性能的测试
应用在服务器端性能的测试
3、性能测试目的:
客户有明确要求,如:系统要求同时满足100用户登陆,平均每个用户登陆时间不能超过5秒
考察目前系统性能(容量测试),需要对系统做出分析,找出系统的压力点
找出系统性能瓶颈,需要分析可能对系统造成瓶颈的逻辑业务,然后才能进行性能测试
了解系统在长时间的压力下性能状况(强度测试)
4、性能测试环境:
硬件环境:被测服务器硬件配置,用于加压客户端的机子配置,CPU内存等软件环境:被测系统的架构,前端、中间件、服务器(这里指运行系统软件服务器,如tomcat)、数据库、测试环境部署信息以及性能测试工具信息。
网络环境:找出系统性能瓶颈可以在广域网环境进行,其它性能测试可以在局域网进行,排除网络干扰
备注:性能测试的环境要独立于功能测试环境,一般在没有其它干扰被测系统的情况下,进行性能测试。
性能测试注意事项:性能测试一般在功能测试稳定的前提下进行;修改性能测试问题的时候容易造成功能错误。
5、性能测试流程
业务学习阶段:通过查看文档,手工操作系统来了解系统
需求分析:分析系统非功能需求,圈定性能测试的范围,了解系统性能指标
工作评估:工作量分解,评估工作量,计划资源投入(需要多少人力,多少工作日来完成性能测试工作)
设计模型:圈定性能测试范围后,把业务模型映射成测试模型。
测试模型概念:比如一个支付系统需要与银行的系统要进行交互,由于银行不能提供支持,这时开发人员会开发程序代替银行系统功能(这就是挡板程序,mock程序),保证此功能的性能测试能够开展,这个过程就是设计测试模型比如我们要对论坛进行性能测试,根据需求了解到一般大家发帖或回帖前都会先登录,那么在开发脚本时就要把登录和发帖、回帖场景绑定在一起进行测试;这就是测试模型,通俗讲就是性能测试用例设计加性能测试实现方案,用例只关注业务,模型还需关注如何实现,是否具有可操作性,可验证性等问题,最后还要根据不同的测试目的组合成不同的测试场景。
编写性能测试计划:和业务功能测试计划类似,确定测试范围,性能测试工具,性能测试场景设计,时间和相关人员等
脚本开发:录制或者编写性能测试脚本,开发测试挡板程序等性能测试环境准备:环境包含服务器和负载机两部分。
测试数据准备:根据计划中的场景设计准备被测系统的主数据与业务数据,主数据是保证业务能够运行畅通的基础,业务数据是运行业务过程中产生的数据。测试执行:根据场景执行测试,监控整个测试过程,获取测试过程中产生的相关性能数据
分析测试结果:把测试过程中产生的性能测试数据进行分析,判断是否存在性能问题
性能分析与调优:对性能测试过程中暴露出来的问题进行分析,找出原因,并于相关开发人员(DBA、运维、开发等)一起解决该性能问题
性能测试报告:根据之前的测试过程,对测试结果进行报告,包含过程中发现的问题,常用的性能指标测试值。评审:对性能测试报告的内容进行评审,确认问题,评估上线风险。
6、性能测试术语
压力测试(强度测试):(先进行负载测试、在进行压力测试 顺序)
在一定软硬件环境下,通过高负载的手段来使服务器资源(强调服务器资源,硬件资源)处
于极限状态,测试系统在极限状态下长时间运行是否稳定。
举例: 经过负载测试得出微信发红包 支持 10500 用户操作
请求响应时间:请求从客户端发出到服务器返回数据给客户端的整个时间
通过察看结果树 -- 选择一个请求 -- 取样器结果--load time 可以察看单个请求的请求
响应时间
通过汇总报告 -- 平均值 可以察看整个性能测试过程中,请求的平均响应时间
请求响应时间:请求从客户端发出到服务器返回数据给客户端的整个时间
通过察看结果树 -- 选择一个请求 -- 取样器结果--load time 可以察看单个请求的请求
响应时间
通过汇总报告 -- 平均值 可以察看整个性能测试过程中,请求的平均响应时间
事务响应时间:事务由一个或多少请求组成的。事务响应时间由事务下的多个请求的请求响
应时间之和
吞吐量:
指在一次性能测试过程中网络上 传输的数据量 的总和。
传输的数据量 = 上传的数据量+下载的数据量
吞吐量 == 平均字节数 * 样本 数量
迅雷下载一个电影 1.4G ,吞吐量
TPS(Transaction Per Second):
每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。
QPS ( query per Second )
每秒钟系统能够处理的查询的数量。 TPS 包含 QPS 的,因为系统的查询功能非常
重要,所以独立出了 QPS 概念
TPS 越大,说明系统的处理能力越好。且 TPS 和 事务响应时间没有直接的联系
例:1 秒钟通过 0.4 辆车 多少秒通过 1 辆车? 2.5 秒 这个 2.5 秒不是事务响应时间,因为
没有考虑多线程
点击率(Hit Per Second):
每秒钟用户向 Web 服务器提交的 HTTP 请求数。
这个指标是衡量 负载机的能力 ,不是衡量 服务器的处理能力。
样本数 / 性能测试持续时间
资源利用率:
资源利用率指的是对不同系统资源的使用程度,例如服务器的 CPU 利用率、磁
盘利用率等。资源利用率是分析系统性能指标而改善性能的主要依据,因此,它是 Web 性
能测试工作的重点,简单来说:就是在性能测试过程中,被测试服务器的 CPU、内存
5、命令行的方式进行远程执行:
-r:开启远程负载机,远程负载机列表在 jmeter.properties 文件中指定
-R:开启远程负载机,可以指定负载机 IP,会覆盖 jmeter.properties 中的设置
1、负载机输入 jmeter-server 开启负载机服务
2、控制机配置 jmeter.properties 文件,remote_hosts 配置负载机 ip
3、在命令行输入 jmeter -n -t jmx 脚本 -l 结果路径 jtl -r
jmeter -n -t jmx 脚本 -l 结果路径 jtl -R 192.168.0.137,192.168.0.147
经验:
本质: 把控制机的 jmx 脚本 通过 RMI 通信方式 传递到负载机进行执行
如果此时 有 csv 参数化文件,需要在负载机的相同位置也要保存有这个文件
-g: 加载 jtl 格式的测试结果
可以通过命令把 jtl 文件的报告转化成 html 网页报告
Jmeter -g jtl 路径 -o 网页报告路径
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|湖南新梦想 ( 湘ICP备18019834号-2 )

GMT+8, 2023-3-25 15:22 , Processed in 0.040308 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表