版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 事务(Transaction )2.2 响应时间(Response 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 性能测试工具原理脚本生成通过代理方式接收客户端发送的数据包,记录并将其转发给服务器端;接收到从服务器端返回的数据流,记录并返回给客户端压力生成:根据脚本内容,产生实际的负载,扮演产生负载的角色监控系统则可以对 数据库 、应用服务器、服务器的主要性能计数器进行监控5.2 常见性能测试工具
15、 LoadrunnerJmeter ab(ApacheBench) NeoLoad Loadstorm压测宝等压力测试平台工具5.2 常见性能测试工具5.2 常见性能测试工具服务器端性能测试工具:需要支持产生压力和负载,录制和生成脚本,设置和部署场景,产生并发用户和向系统施加持续的压力。web前端性能测试工具:需要关于心浏览器等客户端工具对具体需要展现的页面的处理过程。移动端性能测试工具:同web端性能测试工具也需要关心页面的处理过程,另外还要具体数据采集的功能,比如:手机CPU、内存、电量,启动时间等数据的记录。资源监控工具:这个主要是能够收集性能测试过程中的数据以及良好的结果展现方式。5.3 性能测试工具选择成本方面:工具成本:商业功能强大,提供售后服务。开源工具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮股份的协议书2025年
- 双方租赁合同
- 农业生产融合发展模式作业指导书
- 车辆销售与售后服务协议
- 光伏发电项目外包合同实务指南
- 承包荒山合同2025年
- 装修合同协议范本2025年
- 2025年度水泥管行业信用评级与风险管理合作协议3篇
- 2025海鲜水产购销合同
- 2025年度化妆品销售代理合作协议书2篇
- GB/T 42449-2023系统与软件工程功能规模测量IFPUG方法
- 酒店装修工程预算表EXCEL模板(推荐)
- NY 5052-2001无公害食品海水养殖用水水质
- 【讲座】2020年福建省高职分类考试招生指导讲座
- 性格决定命运课件
- 学习会计基础工作规范课件
- 双面埋弧焊螺旋钢管公称外公壁厚和每米理论重量
- 富士施乐VC2265打印机使用说明SPO
- 服务态度决定客户满意度试题含答案
- 教科版四年级科学上册全册复习教学设计及知识点整理
- 重庆万科渠道制度管理办法2022
评论
0/150
提交评论