




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 TPS 2.4 吞吐量 2.5 点击率 2.6 并发用户数( (Concurrent users) 2.7 资源利用率2.1 事务 在web性能测试中,一个事务表示一个“从用户web ServerDBweb serv
4、er用户”的过程,一般的响应时间都是针对事务而言的。 端到端,一个完整的操作过程,比如一次登录、一次筛选条件查询,一次支付等。2.2 响应时间 响应时间指的是从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,这个过程所耗费的时间。在某些工具中,响应时间通常会称为 “TTLB”,即“time to last byte”,意思是从发起一个请求开始,到客户端收到最后一个字节的响应所耗费的时间。响应时间的单位一般为“秒”或者“毫秒”。一个公式可以表示:响应时间= 网络响应时间 + 应用程序响应时间 。2.3 TPS Transaction Per Second:每秒事务数。 指服务器在
5、单位时间内(秒)可以处理的事务数量,一般以request/second为单位 TPS=事务总量/事务完成时间。 那么如何理解:事务通过TPS?2.4 吞吐量 吞吐量(任一秒上从服务器获得的数据量Throughput) 吞吐量指的是单位时间内处理的客户端请求数量。通常情况下,吞吐量用请求数/秒或者页面数/秒来衡量。从业务角度看,吞吐量也可以用访问人数/天 或者页面访问量/天来衡量。2.5 点击率 点击率是指客户端 Hit Rate Hit Rate:是指每秒发送的HTTP请求的数量,点击率越大对server造成的压力就越大 一次页面点击,可以包含多次请求2.6 并发用户数 Concurrent
6、users 并发数是指同时进行请求的客户的数量,并发数用于模拟用户的真实负载情况(并发情况是对系统最大的考验),并发数同时使用系统的用户数。 并发用户数的特点: 同一时刻 对服务器有负载(注意:全部用户、在线用户、并发用户三者之间的区别)2.7 资源利用率 是指软件系统在内存、CPU、网络、I/O的利用率等方面的Resourceutilization 。 资源利用率指的是对不同系统资源的使用程度,例如服务器的CPU(s),内存,网络带宽等。资源利用率通常以占用最大值的百分比n%来衡量。不同视角下的性能 用户角度 响应时间(最关心的指标)2/5/8原则:过长时间的等待会让客户烦躁不安 系统稳定性
7、(把对软件的信心留住)HTTP 500:数据库崩溃、应用服务器崩溃HTTP 404: 服务器无法回应 系统角度 网络延迟、数据延迟 系统资源的使用情况 开发角度 代码实现(算法等) 数据库实现(数据模型设计、语句的实现方式等)思考和练习 假设: 理发店共有3名理发师 每位理发师剪一个发的时间都是1小时 容忍的等待时间+剪发时间是3小时,超过3小时走人 理发店如何扩大业务规模? 理发店模型和性能拐点有什么关系? 性能测试课程内容 第一章 性能测试概述 第二章 性能指标值 第三章 性能测试类型 第四章 性能测试流程 第五章 性能测试工具3 性能测试类型 3.1 性能测试 3.2 负载测试 3.3
8、压力测试 3.4 配置测试 3.5 并发测试 3.6 容量测试3.1 性能测试 狭义上的性能测试是一种“正常”的测试,主要是测试正常使用时,系统是否满足要求,同时可能为了保留系统的扩展空间进行一些稍稍超出“正常”范围的测试。 性能测试一般是对需求进行的测试。 广义上的性能测试包含所有关于性能方面的测试。3.2 负载测试 通过在被测系统上不断增加压力,知道性能指标。例如:响应时间超过预定指标或者某种资源已经达到饱和状态。 这种测试考验找到系统的处理极限,为系统调优提供数据。负载测试一般压力要大些。3.3 压力测试 对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接受不能接受的性能点,来
9、获得系统能够提供的最大服务级别的测试。 例如测试一个web站点的大量的负荷下,何时系统的响应会退化或者失败。3.3 压力测试 对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接受不能接受的性能点,来获得系统能够提供的最大服务级别的测试。 例如测试一个web站点的大量的负荷下,何时系统的响应会退化或者失败。性能测试/负载测试/压力测试之间的区别 性能测试,表示在一个给定的基准下,能执行的最好情况,例如,在没有负重的情况下,你跑100米需要花多少时间 负载测试,也是性能测试,但是他是在不同的负载下的。对于刚才那个例子,如果扩展为:在50公斤、100公斤、200公斤等情况下,你是否还是背负
10、?你的极限是多少?-峰值 压力测试,是在不断增加负载的情况下的性能测试。对于刚才那个例子,如果改为:逐步增加重量,在跑步的过程中你什么时候会跑不动,挂掉!-稳定性3.4 配置测试 配置测试主要是通过测试找到系统各项资源的最佳分配原则。配置测试是系统调优的重要依据,例如我们可以不停的调整oracle的内存来决定cpu和内存的匹配情况。(当前配置-调优-未来业务增长)3.5 并发测试 测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在思索或者其他性能问题,几乎所有的性能测试都会涉及一些并发测试。 集合点的概念3.6 容量测试 测试系统能够处理的最大会话能力。确定系统可处理同时在线的最
11、大用户数,通常和数据库有关。 容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。思考 商城系统中,如何需要做性能测试,你会怎么设计性能测试场景? 性能测试课程内容 第一章 性能测试概述 第二章 性能指标值 第三章 性能测试类型 第四章 性能测试流程 第五章 性能测试工具4 性能测试流程 4.1 了解被测试项目的性能测试需求 4.2 分析被测试项目的性能测试需求 4.3 编写性能测试计划/测试用例
12、4.4 相关资源准备(功能相对稳定) 4.5 脚本维护(编写程序) 4.6 执行脚本(执行程序) 4.7 分析结果 4.8 性能调优 4.9 性能测试报告4.1 了解被测试项目的性能测试需求 响应时间 持续运行时间(资源监控) 并发用户量4.2 分析被测试项目的性能测试需求 响应时间的确定(依据具体的业务) 哪些是系统经常用到的业务 并发用户量的确定(可以估计或者通过日志得到) 增加、删除、查询、修改至少都要做一个脚本 可扩展的空间(1年后,用户量增加。)4.3 编写性能测试计划/测试用例 覆盖测试的需求 测试的周期和风险的评估 人力资源、硬件资源、软件资源的配备 测试的手段和工具应在测试计划
13、中有所体现 增加、删除、查询、修改至少都要做一个脚本 可扩展的空间(应依据具体的需求决定取舍测试)4.4 相关资源准备(功能相对稳定) 人力资源(测试、开发、数据库、系统管理人员) 硬件资源(硬盘、内存、CPU) 软件资源(操作系统、数据库、应用服务器等) 注:所有资源的准备应赶早不赶晚,在做大容量测试时应考虑数据的提前准备,尽量让最擅长的人做最擅长的事。4.5 脚本维护(编写程序) 脚本录制 脚本修改/完善 脚本参数化 脚本及其数据的存储 程序的编写通常为多线程来实现4.6 执行脚本(执行程序) 脚本保存 参数文件保存 结果信息保存4.7 分析结果 测试通常提供问题的定位(应积极和其他人员讨
14、论) 结果信息保存 分析结果的对比4.8 性能调优 应补充多方面的知识(如:系统、数据库、应用服务器等知识) 每次应只调整一方面的配置(更好定位问题) 性能问题产生的原因分析?4.9 性能测试报告 性能测试目的 性能测试软件性能需求 性能指标值 性能测试策略 性能测试环境 性能测试工具要求 性能测试数据要求 性能测试结果分析 性能测试过程数据 性能测试缺陷 性能测试风险评估作业 网上搜索性能测试方案和性能测试报告,整理成思维导图,并在课堂讲述其包含的内容和理解 性能测试课程内容 第一章 性能测试概述 第二章 性能指标值 第三章 性能测试类型 第四章 性能测试流程 第五章 性能测试工具5 性能测
15、试工具 5.1 性能测试工具原理 5.2 常见的性能测试工具 5.3 性能测试工具选择5.1 性能测试工具原理 脚本生成通过代理方式接收客户端发送的数据包,记录并将其转发给服务器端;接收到从服务器端返回的数据流,记录并返回给客户端 压力生成:根据脚本内容,产生实际的负载,扮演产生负载的角色 监控系统则可以对 数据库 、应用服务器、服务器的主要性能计数器进行监控5.2 常见性能测试工具 Loadrunner Jmeter 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年工程经济试题及答案
- 水利水电工程市场需求试题及答案
- 法学转业面试题及答案
- 工程项目管理实务试题及答案汇编
- 跨行业合作的探索计划
- 司机与乘客评分系统协议
- 2024年商业照明灯具项目资金申请报告代可行性研究报告
- 深入理解的经济学知识中级经济师试题及答案
- 食堂营业执照管理协议
- 2025年二级建造师之二建建筑工程实务题库检测试卷B卷附答案
- 生产线技改后效果对比
- 五年级美国大联盟计算和几何专题讲义教师版(含题目翻译答案解析)
- 学院本科教学工作审核评估支撑材料目录
- 人教版小学语文一年级到六年级课本古诗
- 全国优质课一等奖中职中专计算机专业教师教学设计和说课大赛《Premiere视频制作初体验》说课课件
- 农村供水建设和运维存在的问题及解决措施
- 铁路货车空重车自动调整装置原理的作用课件
- 汽轮机DEH简介和SGC顺控启动
- 辽沈战役课件
- 新能源材料与器件PPT完整全套教学课件
- 有关太阳能跟踪器中英文翻译资料
评论
0/150
提交评论