性能测试基础课件

上传人:des****85 文档编号:328252665 上传时间:2022-07-29 格式:PPTX 页数:51 大小:1.69MB
返回 下载 相关 举报
性能测试基础课件_第1页
第1页 / 共51页
性能测试基础课件_第2页
第2页 / 共51页
性能测试基础课件_第3页
第3页 / 共51页
性能测试基础课件_第4页
第4页 / 共51页
性能测试基础课件_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《性能测试基础课件》由会员分享,可在线阅读,更多相关《性能测试基础课件(51页珍藏版)》请在金锄头文库上搜索。

1、性能测试基础 性能测试课程内容第一章 性能测试概述 第二章 性能指标值第三章 性能测试类型第四章 性能测试流程第五章 性能测试工具1 性能测试概述1.1 初见性能测试1.2 性能测试行业背景1.3 性能测试定义1.4 性能测试目的1.1 初见性能测试从奥运会门票说起 官方新闻如下:10月30日,北京奥组委面向境内公众启动第二阶段奥运会门票预售,然而,为了让更多的公众实现奥运梦想的“先到先得,售完为止”的销售政策适得其反,公众纷纷抢在第一时间订票,致使票务官网压力激增,导致系统瘫痪。性能问题分析:从上午9点开始售票到中午12点,3个小时内,票务网站被浏览次数达到2000万次。官方票务网站的浏览量

2、在第一个小时达到800万次,每秒钟从网上提交的门票申请超过20万张,这与他们提供的100万次/小时流量相差甚远。票务呼叫中心热线从9点到10点的呼入量超过了200万人次1.2 性能测试行业背景1.互联网用户越来越多,生活节奏越来越快2.软件系统的规模日益庞大,结构日趋复杂3.软件性能问题越来越突出,以后做性能测试是必然4.性能测试人员从业人数目前较少1.3 性能测试定义性能测试是通过自动化测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试 1.4 性能测试目的1.评估 评估系统是否满足性能需求2.调优 解决性能测试中发现的瓶颈和问题3.稳定 验证系统是否稳定可靠 性能测试

3、课程内容第一章 性能测试概述 第二章 性能指标值第三章 性能测试类型第四章 性能测试流程第五章 性能测试工具思考一个优秀的性能测试工程师需要哪些方面的知识?2 性能测试指标值2.1 事务事务(TransactionTransaction)2.2 响应时间(Response TimeResponse Time)2.3 TPS2.4 吞吐量2.5 点击率2.6 并发用户数(Concurrent users)2.7 资源利用率2.1 事务在web性能测试中,一个事务表示一个“从用户web ServerDBweb server用户”的过程,一般的响应时间都是针对事务而言的。端到端,一个完整的操作过程,

4、比如一次登录、一次筛选条件查询,一次支付等。2.2 响应时间 响应时间指的是从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,这个过程所耗费的时间。在某些工具中,响应时间通常会称为“TTLB”,即“time to last byte”,意思是从发起一个请求开始,到客户端收到最后一个字节的响应所耗费的时间。响应时间的单位一般为“秒”或者“毫秒”。一个公式可以表示:响应时间=网络响应时间+应用程序响应时间。2.3 TPSTransaction Per Second:每秒事务数。指服务器在单位时间内(秒)可以处理的事务数量,一般以request/second为单位TPS=事务总量/事

5、务完成时间。那么如何理解:事务通过TPS?2.4 吞吐量吞吐量(任一秒上从服务器获得的数据量Throughput)吞吐量指的是单位时间内处理的客户端请求数量。通常情况下,吞吐量用请求数/秒或者页面数/秒来衡量。从业务角度看,吞吐量也可以用访问人数/天 或者页面访问量/天来衡量。2.5 点击率点击率是指客户端 Hit RateHit Rate:是指每秒发送的HTTP请求的数量,点击率越大对server造成的压力就越大一次页面点击,可以包含多次请求2.6 并发用户数 Concurrent users 并发数是指同时进行请求的客户的数量,并发数用于模拟用户的真实负载情况(并发情况是对系统最大的考验)

6、,并发数同时使用系统的用户数。并发用户数的特点:同一时刻对服务器有负载(注意:全部用户、在线用户、并发用户三者之间的区别)2.7 资源利用率是指软件系统在内存、CPU、网络、I/O的利用率等方面的Resourceutilization。资源利用率指的是对不同系统资源的使用程度,例如服务器的CPU(s),内存,网络带宽等。资源利用率通常以占用最大值的百分比n%来衡量。不同视角下的性能用户角度响应时间(最关心的指标)2/5/8原则:过长时间的等待会让客户烦躁不安系统稳定性(把对软件的信心留住)HTTP 500:数据库崩溃、应用服务器崩溃HTTP 404:服务器无法回应系统角度网络延迟、数据延迟系统

7、资源的使用情况开发角度代码实现(算法等)数据库实现(数据模型设计、语句的实现方式等)思考和练习假设:理发店共有3名理发师每位理发师剪一个发的时间都是1小时容忍的等待时间+剪发时间是3小时,超过3小时走人理发店如何扩大业务规模?理发店模型和性能拐点有什么关系?性能测试课程内容第一章 性能测试概述 第二章 性能指标值第三章 性能测试类型第四章 性能测试流程第五章 性能测试工具3 性能测试类型3.1 性能测试3.2 负载测试3.3 压力测试3.4 配置测试3.5 并发测试3.6 容量测试3.1 性能测试狭义上的性能测试是一种“正常”的测试,主要是测试正常使用时,系统是否满足要求,同时可能为了保留系统

8、的扩展空间进行一些稍稍超出“正常”范围的测试。性能测试一般是对需求进行的测试。广义上的性能测试包含所有关于性能方面的测试。3.2 负载测试通过在被测系统上不断增加压力,知道性能指标。例如:响应时间超过预定指标或者某种资源已经达到饱和状态。这种测试考验找到系统的处理极限,为系统调优提供数据。负载测试一般压力要大些。3.3 压力测试对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接受不能接受的性能点,来获得系统能够提供的最大服务级别的测试。例如测试一个web站点的大量的负荷下,何时系统的响应会退化或者失败。3.3 压力测试对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接受不能

9、接受的性能点,来获得系统能够提供的最大服务级别的测试。例如测试一个web站点的大量的负荷下,何时系统的响应会退化或者失败。性能测试/负载测试/压力测试之间的区别性能测试,表示在一个给定的基准下,能执行的最好情况,例如,在没有负重的情况下,你跑100米需要花多少时间负载测试,也是性能测试,但是他是在不同的负载下的。对于刚才那个例子,如果扩展为:在50公斤、100公斤、200公斤等情况下,你是否还是背负?你的极限是多少?-峰值压力测试,是在不断增加负载的情况下的性能测试。对于刚才那个例子,如果改为:逐步增加重量,在跑步的过程中你什么时候会跑不动,挂掉!-稳定性3.4 配置测试配置测试主要是通过测试

10、找到系统各项资源的最佳分配原则。配置测试是系统调优的重要依据,例如我们可以不停的调整oracle的内存来决定cpu和内存的匹配情况。(当前配置-调优-未来业务增长)3.5 并发测试测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在思索或者其他性能问题,几乎所有的性能测试都会涉及一些并发测试。集合点的概念3.6 容量测试测试系统能够处理的最大会话能力。确定系统可处理同时在线的最大用户数,通常和数据库有关。容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量

11、测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。思考商城系统中,如何需要做性能测试,你会怎么设计性能测试场景?性能测试课程内容第一章 性能测试概述 第二章 性能指标值第三章 性能测试类型第四章 性能测试流程第五章 性能测试工具4 性能测试流程4.1 了解被测试项目的性能测试需求4.2 分析被测试项目的性能测试需求4.3 编写性能测试计划/测试用例4.4 相关资源准备(功能相对稳定)4.5 脚本维护(编写程序)4.6 执行脚本(执行程序)4.7 分析结果4.8 性能调优4.9 性能测试报告4.1 了解被测试项目的性能测试需求响应时间持续运行时间(资源监控)并发用户量4.2

12、分析被测试项目的性能测试需求响应时间的确定(依据具体的业务)哪些是系统经常用到的业务并发用户量的确定(可以估计或者通过日志得到)增加、删除、查询、修改至少都要做一个脚本可扩展的空间(1年后,用户量增加。)4.3 编写性能测试计划/测试用例覆盖测试的需求测试的周期和风险的评估人力资源、硬件资源、软件资源的配备测试的手段和工具应在测试计划中有所体现增加、删除、查询、修改至少都要做一个脚本可扩展的空间(应依据具体的需求决定取舍测试)4.4 相关资源准备(功能相对稳定)人力资源(测试、开发、数据库、系统管理人员)硬件资源(硬盘、内存、CPU)软件资源(操作系统、数据库、应用服务器等)注:所有资源的准备

13、应赶早不赶晚,在做大容量测试时应考虑数据的提前准备,尽量让最擅长的人做最擅长的事。4.5 脚本维护(编写程序)脚本录制脚本修改/完善脚本参数化脚本及其数据的存储程序的编写通常为多线程来实现4.6 执行脚本(执行程序)脚本保存参数文件保存结果信息保存4.7 分析结果测试通常提供问题的定位(应积极和其他人员讨论)结果信息保存分析结果的对比4.8 性能调优应补充多方面的知识(如:系统、数据库、应用服务器等知识)每次应只调整一方面的配置(更好定位问题)性能问题产生的原因分析?4.9 性能测试报告性能测试目的性能测试软件性能需求性能指标值性能测试策略性能测试环境性能测试工具要求性能测试数据要求性能测试结

14、果分析性能测试过程数据性能测试缺陷性能测试风险评估作业网上搜索性能测试方案和性能测试报告,整理成思维导图,并在课堂讲述其包含的内容和理解 性能测试课程内容第一章 性能测试概述 第二章 性能指标值第三章 性能测试类型第四章 性能测试流程第五章 性能测试工具5 性能测试工具5.1 性能测试工具原理5.2 常见的性能测试工具5.3 性能测试工具选择5.1 性能测试工具原理脚本生成通过代理方式接收客户端发送的数据包,记录并将其转发给服务器端;接收到从服务器端返回的数据流,记录并返回给客户端压力生成:根据脚本内容,产生实际的负载,扮演产生负载的角色监控系统则可以对 数据库、应用服务器、服务器的主要性能计

15、数器进行监控5.2 常见性能测试工具 LoadrunnerJmeter ab(ApacheBench)NeoLoad Loadstorm压测宝等压力测试平台工具5.2 常见性能测试工具5.2 常见性能测试工具服务器端性能测试工具:需要支持产生压力和负载,录制和生成脚本,设置和部署场景,产生并发用户和向系统施加持续的压力。web前端性能测试工具:需要关于心浏览器等客户端工具对具体需要展现的页面的处理过程。移动端性能测试工具:同web端性能测试工具也需要关心页面的处理过程,另外还要具体数据采集的功能,比如:手机CPU、内存、电量,启动时间等数据的记录。资源监控工具:这个主要是能够收集性能测试过程中的数据以及良好的结果展现方式。5.3 性能测试工具选择成本方面:工具成本:商业功能强大,提供售后服务。开源工具免费,功能有限。学习成本:项目要考虑工具学习成本(比如:时间),测试人员熟悉一款流程的商业和开源免费性能工具,和脚本开发语言支持的协议:性能测试通常跟协议联系非常紧密,比如B/S的系统通常使用http协议进行客户端和服务器商的信息交换,C/S的系统通常使用socket协议进行信息交换。生命力:现在的性能测试工具非常多,比如LR,jmeter这类较大众的工具网上相关的资料非常多,但一些小众工具可能网上资料比较少。跨平台:思考网上搜索,常见的性能测试工具,并理解性能测试的原理

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号