性能测试之思

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 在性能测试中,涉及的性能指标有很多,强行记忆理解可能是一件很吃力的事情。对性能指标进行分层划分,这样有助于记忆和理解。

最近工作之余,对以往的性能测试相关知识做了整理和复盘,发现了很多之前没认真思考过的小细节,整理出来,以供参考。。。

 

1、如何理解性能指标?


在性能测试中,涉及的性能指标有很多,强行记忆理解可能是一件很吃力的事情。对性能指标进行分层划分,这样有助于记忆和理解。


在体育运动中,我们都知道提倡“更高、更快、更强”,其实对于系统的性能,我们也可以这么理解,大概分层如下:


分层 说明
更高 资源:CPU%、Memery%、I/O
更快 速度:TPS、RT/ART
更强 容量、PV、Hit


2、层层分析性能瓶颈


软件应用是一个很复杂的东西,影响性能表现的因素更多,直接影响OR间接影响,在分析过程中都是需要注意的。下面是一些比较常用的分析方法:


①、分层梳理


梳理层次 举例说明
业务梳理 业务配比、依赖关系角度
数据梳理 真实数据统计准确性、测试数据失效过期、数据污染
架构梳理 缓存、集群、负载均衡、分布式、微服务、异步通信、网关
参数梳理 最大连接数、最大线程数、JVM内存分配、timeout、异常/失败重试次数
场景梳理 异常场景、容量场景、基准场景、并发场景、稳定性场景、多节点场景、容灾恢复场景


②、模块梳理


组成模块 举例说明
负载机 高并发下,负载机可能成为限制性能提升的瓶颈
网络 高吞吐量下,网络带宽的不足会成为性能提升的瓶颈
中间件 缓存策略、代理分发策略、服务通信策略
服务器 CPU、Memory
数据库 索引、锁、分库分表、视图、实例等
操作系统 文件I/O、buffer、cached等

 

3、性能测试的方法论


①、性能测试场景一定要基于真实环境来模拟;

②、性能测试场景一定要基于具体清晰的指标来构建;

③、场景建模是分析的结果,性能需求分析是场景建模的前提;

④、开展性能测试之前,要设定统一的目标、分析方法、条理分明的流程以及高度的团队协作和任务分配;

⑤、性能测试,执行监控分析是核心;

 

4、什么时候需要关联


①、服务端value动态返回;

②、数据在后续执行中需要引用;

③、业务场景有前后依赖关系;

 

5、如何理解ThinkTime?


①、要不要添加ThinkTime?

②、什么时候用到ThinkTime?

③、用ThinkTime会有什么效果?

④、ThinkTime是否匹配真实业务场景?

⑤、ThinkTime是否会影响到服务器资源?

 

6、你真的了解测试目的么?


①、在什么环境/条件下执行测试?(硬件配置、软件版本/参数、测试环境)

②、被测试的系统业务场景是什么?是否要剔除不必要的业务?

③、如果保证数据的真实性、有效性?如何避免数据污染带来的影响?

④、测试策略真的符合预期的目的么?

⑤、系统的性能表现真的符合实际的生产场景么?如何量化?

 

以上就是一些最近思考整理的问题,仅供参考,后续如有新的思考点,会更新,就酱。。。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
2天前
|
缓存 监控 数据挖掘
C# 一分钟浅谈:性能测试与压力测试
【10月更文挑战第20天】本文介绍了性能测试和压力测试的基础概念、目的、方法及常见问题与解决策略。性能测试关注系统在正常条件下的响应时间和资源利用率,而压力测试则在超出正常条件的情况下测试系统的极限和潜在瓶颈。文章通过具体的C#代码示例,详细探讨了忽视预热阶段、不合理测试数据和缺乏详细监控等常见问题及其解决方案,并提供了如何避免这些问题的建议。
17 7
|
2月前
|
SQL 监控 测试技术
如何开展性能测试
本文详细介绍了作者在性能测试中的一次实战经历。文章首先概述了一个理想的性能测试流程,并以公司微信会员系统的性能测试为例,具体说明了从获取需求到最终报告的全过程。内容涵盖了测试计划制定、环境搭建、测试脚本开发、执行测试及监控调试等多个方面,并强调了理解和熟悉系统业务的重要性。通过实际案例展示了如何发现性能瓶颈并提出优化建议。
47 3
如何开展性能测试
|
3月前
|
SQL 固态存储 测试技术
toadb性能测试
ToaDB是一款数据库系统,其测试工具集支持自动化功能及性能测试。功能测试脚本位于`toadb/src/test/`,需先编译`tsql`工具,运行`startTest.sh`即可开始测试并记录结果。性能测试工具位于源码根目录`toadb/test/benchmark/`,包括数据构建与测试两部分,可通过`benchmarkBuildData.sh`和`benchmarkRun.sh`脚本执行。
25 4
|
4月前
|
监控 测试技术 应用服务中间件
性能测试:性能测试计划
性能测试计划是在进行软件或系统的性能测试之前制定的详细计划和指导文件。它描述了所需性能测试的目标、范围、测试环境、资源需求、测试策略、测试用例、时间表等重要信息。
65 0
|
4月前
|
运维 测试技术 双11
什么是性能测试,一篇文章告诉你!
性能测试评估系统在现实负载下的性能和可靠性,包括响应时间、吞吐量和稳定性。目的是发现瓶颈、评估系统能力、优化性能和确保可靠性。在**双十一大促**等高并发场景下,性能测试至关重要。它有助于合理规划资源,降低成本,提升效率。测试工程师需掌握性能调优,理解压力曲线图,识别最佳并发用户数和最大承载点。通过测试,确保系统在最佳效率下运行,避免资源浪费和用户满意度下降。
66 0
|
监控 测试技术 应用服务中间件
系统性能测试
系统性能测试
152 0
|
测试技术 索引
性能测试 接口性能测试需要注意的点
性能测试 接口性能测试需要注意的点
1542 0
|
存储 NoSQL 中间件
性能测试的初步认识
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
750 2
性能测试的初步认识
|
缓存 运维 前端开发
|
存储 SQL 缓存
性能测试--性能测试数据准备
关于如何准备性能测试数据,相信不少性能测试人员也踩过不少坑:比如数据量不足,导致性能表现非常好,忽略了一些潜在性能问题;数据分布不合理,导致测试结果与线上差异较大,又要推到重来。经过n多次被坑之后,总结下经验。我们把测试数据准备分为两类数据:铺底数据和参数化数据。
638 0