性能测试的初步认识

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。

性能定义:

性能是一种指标,表示软件系统或构件对其及时性要求的符合程度;同时性能是软件产品的一种特性,可以用时间来进行度量。

性能测试定义:

在一定负载情况下,系统的响应时间等待性是否满足特定性能需求。

性能测试流程:

性能测试流程-鱼骨图 (1).png

性能指标:

1、响应时间(Response Time)

应用系统从发出请求开始到客户端接受到所有数据所消耗的时间。响应时间越短代表系统处理能力越高。

网络传输时间:N1+N2+N3+N4

应用延迟时间:应用服务器延迟时间(A1+A3)+数据库延迟时间(A2)

PS:在性能测试过程中,通常会关注事务的响应时间(Transaction Response Time,TRT)

2、并发用户数(并发数)

并发用户数是指同一时刻与服务器进行数据交互的所有用户数量。

系统用户数

该系统的使用用户数。非同时操作系统的用户数。

在线用户数

登录了该系统的用户数(包括游客模式)

3、吞吐量

单位时间内服务器处理客户请求的数量,吞吐量通常使用请求数/秒来衡量,直接体现服务器的承载能力。性能测试过程中主要关注指标之一。

在吞吐量在没有达到系统瓶颈时,会随着并发数的增加而增加,到达瓶颈后,吞吐量会趋于平稳走向。

4、TPS(TransactionperSecond)

服务器每秒处理的事务数,衡量系统处理能力的重要的指标之一。

5、吞吐率 衡量网络性能指标

6、点击率

7、事务成功率 99%

8、服务器资源占用率

在负载下系统的资源利用率。资源的占用率越低,说明系统越优秀。资源指的是支持整个系统运行程序的一切软硬件平台。例:CPU占用率、内存使用率、I/O读写能力、网络等。

PS:CPU占用率,内存使用率 一般要求在70%-80%以下。

测试方法:

1、负载测试

负载测试是指在一定的软件、硬件及网络环境下、运行一种或多种业务,在不同虚拟用户数量的情况下,测试服务器的性能指标是否在用户的要求,以此确定系统所能承载最大用户数、最大有效用户数以及不同用户数下的系统响应时间及服务器的资源利用率。

通过不断增加并发数(负载),以确定系统所能承载最大用户数,最大有效用户数以及不同用户数下的系统响应时间及服务器的资源利用率。负载测试一般执行15分钟。

2、压力测试(疲劳测试)

压力测试是指在一定的软件,硬件及网络环境下,模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下并长时间连续运行,以测试服务器在高负载情况下是否能够稳定工作。

模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下并长时间连续运行,以测试服务器在高负载情况下是否能够稳定工作。压力测试一般执行40m-60m。

3、并发测试

并发测试市政通过模拟多个用户并发访问同一个应用、存储过程或数据记录及其他并发操作,测试是否存在死锁、数据错误等故障。通常需要加入集合点。

4、基准与配置测试(中间件 tomcat,redis,mq等)

基准测试是指在一定的软件、硬件及网络下,模拟一定数量的虚拟用户运行一种或多种业务,将测试结果作为基线数据,在系统调优或系统评测的过程中,通过运行相同的业务场景比较测试结果,确定调优是否达到孕期效果或者为系统的选择提供决策数据。

基准测试一般基于配置测试,通过配置测试得到数据,并将这个 数据作为基准来比较每次调优后的性能是否有所改善。

5、容量测试

容量测试是指在一定的软件、硬件、网络环境下,在数据库中构造不同数量级别的数据记录,运行一种或多种业务在一定的虚拟用户数量的情况下,获取不同数量级别的服务器性能指标,以确定数据库的最佳容量和最大容量。

6、可靠性测试

可靠性测试是当系统在一定业务压力下,让系统持续运行一段时间,观察系统是否达到要求的稳定性。如系统能够持续无故障运行多少天。一般使用并发数的85%,混合场景运行3-7天。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
2天前
|
缓存 监控 数据挖掘
C# 一分钟浅谈:性能测试与压力测试
【10月更文挑战第20天】本文介绍了性能测试和压力测试的基础概念、目的、方法及常见问题与解决策略。性能测试关注系统在正常条件下的响应时间和资源利用率,而压力测试则在超出正常条件的情况下测试系统的极限和潜在瓶颈。文章通过具体的C#代码示例,详细探讨了忽视预热阶段、不合理测试数据和缺乏详细监控等常见问题及其解决方案,并提供了如何避免这些问题的建议。
16 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
|
缓存 负载均衡 监控
性能测试之思
在性能测试中,涉及的性能指标有很多,强行记忆理解可能是一件很吃力的事情。对性能指标进行分层划分,这样有助于记忆和理解。
|
缓存 运维 前端开发
|
存储 SQL 缓存
性能测试--性能测试数据准备
关于如何准备性能测试数据,相信不少性能测试人员也踩过不少坑:比如数据量不足,导致性能表现非常好,忽略了一些潜在性能问题;数据分布不合理,导致测试结果与线上差异较大,又要推到重来。经过n多次被坑之后,总结下经验。我们把测试数据准备分为两类数据:铺底数据和参数化数据。
638 0