性能测试-概念篇(三)

author author     2023-04-17     143

关键词:

参考技术A

通过分析业务逻辑和技术架构,创建性能模型,制定性能方案,准备应用环境,设计并实施性能部署监控,实现符合真实业务逻辑的压力,通过监控手段获取各组件的性能计数器,分析计数器采集出的数据,查找出性能瓶颈的根本原因并优化,最后通过环比生产环境的性能数据修正场景。

2.2.1、时间指标
2.2.2、容量指标
2.2.3、资源利用率指标

2.3.1、业务模型
2.3.2、监控模型

2.4.1、测试环境
2.4.2、测试数据
2.4.3、测试模型 - 基于业务模型构造测试数据
2.4.4、性能指标
2.4.5、压力测试-阶梯压力测试&高并发压力测试
2.4.6、准入准出
2.4.7、进度风险

2.5.1、软硬件环境(包括压力机)
2.5.2、应用版本
2.5.3、基础设施
2.5.4、网络结构
2.5.5、基础数据
2.5.6、压力工具

2.6.1、系统监控
2.6.2、中间件监控
2.6.3、缓存监控
2.6.4、队列监控
2.6.5、负载均衡监控
2.6.6、熔断限流
2.6.7、链路监控

2.7.1、基准场景
2.7.2、容量场景
2.7.3、稳定性场景
2.7.4、异常场景

2.8.1、场景结果整理
2.8.2、监控结果整理
2.8.3、性能整体分析
2.8.4、性能结论
2.8.5、优化建议
2.8.6、运维建议

性能验证:验证系统是否达到指定的指标。 举例:RT是300ms,QPS/TPS是否可以达到800。
性能调优:验证是否达到系统的最大容量。 举例:限制或者不限制RT、内存水位、CPU水位,QPS/TPS可以达到多少。
容量验证:需要多少台机器。 举例:50 w UV,需要配置多少台机器。

1000万的用户,在场景A中,业务1占比10%,业务2占比20%,业务3占比30%;
1000万的用户,在场景B中,业务1占比20%,业务2占比30%,业务3占比40%;
1000万的用户,在场景C中,业务1占比30%,业务2占比40%,业务3占比50%。

包括接口响应时间+业务响应时间
参考:
互联网企业:500ms以下,例如淘宝业务10ms左右。
金融企业:1s以下为佳,部分复杂业务3s以下。
保险企业:3s以下为佳。
制造业:5s以下为佳。

包括接口容量+业务容量

如果是接口层性能测试,TPS中的T 可以直接定义为接口级;
如果业务级性能测试,TPS中的T 可以直接定义为每个业务步骤和完整的业务流;

举例:

start事务(接口1)
商品详情页接口A
end事务(接口1)
start事务(接口2)
商品详情页接口B
end事务(接口2)

start事务(业务A)
加入购物车(接口1)-下单(接口2)-支付(接口3)
end事务(业务A)

start事务(业务A)
点击-加入购物车(接口1)-下单(接口2)-支付(接口3)
end事务(业务A)

a、操作系统:CPU、Memory、Network、IO、System、Swap
b、JVM:GC、classes
...

对于长连接来说,最大并发用户数即系统的并发接入能力。实际上,就算是长连接,如果实际业务已经丢掉了异常的请求,那么最大并发用户数不等于系统的并发接入能力。
对于短连接来说,最大并发用户数并不等于系统的并发接入能力。

并发是在单位时间内完成的事务(T)的个数。

在线用户数和压力线程之间的关系:

从以上的计算逻辑中,我们可以看到,这其中有几个关键数据:

举例:
1) 在线用户数:1个用户,100个请求,响应时间是250s

用户数:1个
响应时间:250s
请求数:100
tps计算: 1*100/250=0.4(请求数/秒)

在线用户数(有停顿时间):100000个用户,100个请求,响应时间是3600s
用户数:100000个
响应时间:3600s
请求数:100
tps计算:100000100/3600=2777.8 tps

2) 并发用户数(无停顿时间):1个用户,100个请求,响应时间是6s

用户数:1个
响应时间:6s
请求数:100
tps计算:1*100/6=16.67 tps

3) 压力线程=(在线用户数×单用户请求数)/峰值采样时间段÷一个压力线程的请求级TPS
压力线程 = 2777.8(100000在线用户的请求级TPS)/16.67(1个压力线程的请求级TPS)=167

4) 并发用户数=在线用户数×有停顿时间的单线程TPS÷无停顿时间的单线程TPS
并发用户数 = 100000(在线用户数)*0.4(有停顿时间的单线程TPS)/16.67(无停顿时间的单线程TPS)=2399

5) 并发度=在线用户÷并发用户×100%(取值要在同一时间段)
并发度 = 100000/2399*100%=41.68%

参考:高楼老师的课程

性能测试之操作系统篇

好的性能测试工程师一定是对操作系统有一定的了解的。对于底层的了解越深,越有实力去分析和参透各种性能问题,快速的找出性能的瓶颈。以下是我学习过程中的学习笔记,记录下我的理解过程,也欢迎大家纠正!第一篇:... 查看详情

性能测试工具——loadrunner篇

...组件1、VirtualUserGenerato——r录制最终用户业务流程并创建性能2、Controller——组织、驱动、管理并发监控负载测试3、Analysis——用于查看、剖析和比较性能结果二、LoadRunner的功能1、轻松创建虚拟用户2、创建真实的负载3、定位性... 查看详情

性能测试总结---基础理论篇

...,测试人员除了需要保证基本的功能测试质量,性能也随越来越受到人们的关注。但是一提到性能测试,很多人就直接连想到Loadrunner。认为LR就等于性能测试,其实这是不对的。LR只是性能测试的一个工具,但... 查看详情

性能测试入门

目录一、性能测试的概念 1、性能测试的概念 2、性能测试的目的2.1、评估当前系统能力 2.2、常见的性能需求(性能需求文档) 2.3、寻找性能瓶颈,优化性能 2.4、评估软件是否能满足未来需求 3、什么是性能二、... 查看详情

红帽436——ha高可用集群之概念篇

一、集群概念:集群:提高性能,降低成本,提高可扩展性,增强可靠性,任务调度室集群中的核心技术。集群作用:保证业务不断 集群三种网络:业务网络,集群网络,存储网络 二、集群三种类型:HA:高可用集群  ... 查看详情

软件测试概念篇

概念篇一、软件测试是什么软件测试和研发的区别二、什么是需求三、什么是bug四、什么是测试用例五、开发模型敏捷开发敏捷流程六、测试模型总结一、软件测试是什么软件测试就是证明软件不存在错误的过程软件测试就是为... 查看详情

性能测试基础概念

性能测试(一)基础概念本系列简述的是性能测试  阅读目录什么是性能测试性能测试的目的性能测试的类型性能测试的需求性能测试环境测试数据 什么是性能测试性能测试是通过自动化的测试工具模拟多钟正常,峰... 查看详情

性能测试入门

目录一、性能测试的概念 1、性能测试的概念 2、性能测试的目的2.1、评估当前系统能力 2.2、常见的性能需求(性能需求文档) 2.3、寻找性能瓶颈,优化性能 2.4、评估软件是否能满足未来需求 3、什么是性能二、... 查看详情

1性能测试概念

https://www.imooc.com/video/13164 性能测试的概念性能测试主要通过自动化的测试功能模拟多种正常、峰值以及异常负载条件来多系统的各项性能指标进行测试。 性能测试常见分类性能测试(狭义)负载测试压力测试(强度测试... 查看详情

性能测试基本概念

一、性能测试的概念     性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定... 查看详情

性能测试性能测试问答篇

今天想和大家分享一下性能测试过程中一些常见的问题,可以帮助性能学习初学者解决一些小疑惑。性能测试都分为哪些种类负载测试主要检查被测系统在既定负载下的性能表现,即通过逐步加压的方法,达到既定的... 查看详情

性能测试基础概念

本系列简述的是性能测试  阅读目录什么是性能测试性能测试的目的性能测试的类型性能测试的需求性能测试环境测试数据 什么是性能测试性能测试是通过自动化的测试工具模拟多钟正常,峰值,以及异常负载条件,... 查看详情

性能测试基础-开门篇2

性能测试工具篇:     1.商业工具-LR     LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对... 查看详情

性能测试--测试流程篇

一、制定目的性能测试是一项严谨的需要各团队协同配合的工作,其中包括产品、开发、运维、网络、DBA、测试等角色。从零开始实施性能测试,而性能测试流程,是最重要的一步。制定性能测试流程指南的目的,是从技术角度... 查看详情

jmeter性能测试入门篇,超详细

...5795471.Jmeter简介ApacheJMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。本文为JMeter性能测试完整... 查看详情

性能10篇-ftp性能测试

 创建FTP测试计划如何创建一个简单的测试计划,用于测试FTP站点。如创建4个并发用户,用于访问FTP站点的两个文件。另,并发用户执行两遍测试计划。因此,总的请求数目是(4并发用户)*(2请求)*(重复2遍)=16FTP请求。... 查看详情

测试(概念篇)笔记

概念什么是软件测试?测试与调试的区别软件测试的目的和原则一个测试人员所具备的素质什么是需求什么是BUG描述BUGBUG级别BUG生命周期什么是测试用例开发模型和测试模型软件的生命周期瀑布模型(WaterfallModel)螺... 查看详情

性能测试相关概念和指标

性能测试的目地:  查看详情