版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 1 什么是软件性能? 2软件为什么会有性能? 3 什么性能测试? 4 如何做性能测试? 5 如何定位性能根源,性能的瓶颈究竟在哪儿? 6 如何提升性能? 请大家衡量,做性能测试都需要哪方面能力?史玉杰史玉杰2015.01.302015.01.30 性能测试概述 性能测试步骤 测试实践(举例)完成此培训之后: 了解性能测试的概念 了解性能测试的步骤 理解基本的性能指标 研发中心内部统一性能测试相关概念 性能测试概述性能测试概述 性能测试的步骤 测试实践(举例) 软件的性能是个很大的概念,覆盖面非常广泛,对一个软件系统而言,包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等等。用
2、户视角的软件性能 从用户角度来说,软件性能就是软件对用户操作的响应时间。管理员视角的软件性能 系统的响应时间; 系统运行时服务器的状态,如CPU利用情况、 内存使用情况等; 系统是否能够实现扩展; 系统支持多少用户访问; 系统性能可能的瓶颈在哪里; 系统是否支持7*24小时的业务访问。产品开发人员视角的软件性能 用户关心的响应时间; 管理员关心的系统可扩展性等; 架构设计是否合理; 数据库设计是否合理; 代码是否存在性能方面的问题; 系统中是否有不合理的内存使用方式。 性能测试主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试! 评估系统的能力 识别体系
3、中的弱点 验证系统可伸缩性(resilience)和可靠性(reliability) 系统调优 并发用户数响应时间吞吐量资源利用率并发并发是指在某一给定时间内,某个特定点上进行会话操作的用户数。 注意:此处需要区别于A6、A8的并发数概念,我们产品并发的概念实际是在线用户数。响应时间响应时间指的是客户端发出请求到得到响应的整个过程所经历的时间。吞吐量吞吐量是指单位时间内系统处理的客户请求的数量,直接体现软件系统的性能承载能力。 一般来说,吞吐量用请求数/秒或页面数/秒来衡量,从业务的角度,吞吐量也可以用访问人数/天或处理的业务数/小时等单位来衡量。从网络的角度来说,也可以用字节数/天等单位来考
4、察网络流量。资源利用率资源利用率是指系统资源的使用程度,比如服务器的CPU利用率、内存利用率、磁盘利用率、网络带宽利用率等。 除了上述资源,我们还应该考虑数据库连接池使用情况,JVM内存使用情况,数据库cpu占用情况等因素分析型性能测试目的:目的:断定产品性能瓶颈,为性能提升提供修改点和修改方向;分析资源占用情况,为客户实施提供建议内容:内容:容量测试、压力测试、可靠性测试发布范围:发布范围:研发内部常用指标:常用指标:资源占用、响应时间定性型性能测试目的目的:对外公布指标,指标反映产品性能是否符合需求内容内容:容量测试、负载测试、可靠性测试发布范围:发布范围:研发、对外常用指标常用指标:吞吐
5、量(单位时间事务成功数)、响应时间对比型性能测试目的:目的:系统版本间或者是不同系统之间性能对比内容:内容:容量测试、负载测试、可靠性测试发布范围:发布范围:研发内部、对外(选择)常用指标:常用指标:资源占用、响应时间、吞吐量负载测试压力测试容量测试网络性能测试可靠性测试(疲劳测试)含义 主要用于描述常规的性能测试,通过模拟生产运行的业务压力和使用场景组合来测试系统的性能是否满足生产要求。 目的 在特定的运行条件下验证系统的能力状况含义 压力测试是为了发现在什么条件下应用程序的性能会变得不可接受。 压力测试与负载测试的比较 实现方法基本相同 测试的目的不同含义 确定测试对象在给定时间内能够持续
6、处理的最大负载或工作量 使测试对象处理大量的数据,以确定是否达到了将使被测对象发生故障的极限 目的 测试单业务在一定数据容量下性能表现,比如通讯录、比如选人含义 测试网络带宽、延迟、负载和端口的变化对用户的响应时间的影响 实际应用 主要是测试用户数目与网络带宽的关系,评估网络的依赖程度含义 软件可靠性: 在规定条件下,在规定时间内,软件不引起系统失效的概率 可靠性测试:在有使用代表性的环境中,持续运行系统某些功能,验证系统稳定性的过程目的 尽量模拟客户的使用环境,一定业务压力下,持续运行过程N*24小时,测试系统的稳定性 性能测试概述 性能测试的步骤性能测试的步骤 压力测试测试需求分析主要有以
7、下的几个关键点:测试的目的是什么测试的目的是什么 评估系统的能力 识别体系中的弱点 验证系统可伸缩性(resilience)和可靠性(reliability) 系统调优 测试要素分析测试要素分析: 用户数量 测试执行的功能 用户分布(即执行每种功能的用户数) 硬件环境(包括网络环境) 软件环境 数据量其它分析其它分析 系统运行中所出现的问题有什么特征或规律 疲劳测试执行时间多少 性能需求的指标是什么等测试目的不同,则相应的测试策略不同。 性能符合性验证负载测试、疲劳强度测试。 性能能力验证压力测试、疲劳强度测试。 性能调优测试-调整-测试。负载测试、压力测试、疲劳强度测试。测试需求测试策略测试
8、场景测试环境测试准备人员及时间安排问题与对策测试环境准备测试数据准备测试用例、场景准备测试工具准备开发测试脚本布置测试场景执行测试场景硬件瓶颈分析方法 内存分析方法 处理器分析方法 磁盘I/O分析方法 网络分析方法 内存分析方法 1.首先查看可用内存(MemoryAvailable Mbytes)计数器指标。若值较小则可能有内存问题,需进一步分析。 2.注意Pages/sec、Pages Read/sec和Page Faults/sec计数器的值。 Pages/sec和Page Faults/sec的值持续很高,很可能内存问题,若Pages Read/sec的值超过5,则可判断存在内存问题。
9、3.根据Physical Disk计数器的值分析性能瓶颈。如果磁盘的Average Disk Queue Length计数器增加的同时Pages Read/sec并未降低,则可判断内存有问题。 处理器分析方法 1.首先查看System%Total Processor Time计数器的值。该值体现的是CPU的平均利用率,若超过90%,则说明存在处理器方面的瓶颈。 2.其次查看每个CPU的Processor%User Time计数器的值。若应用服务器的%User Time值较大,可以考虑是否能通过算法优化等方法降低这个值。若数据库服务器的%User Time值较大,可考虑对数据库系统进行优化。 3
10、.查看SystemProcessor Queue Length计数器的值。当该值大于CPU数量的总数+1时,说明存在处理器方面的问题。 网络分析方法 1.查看Network Interface Bytes Total/sec计数器的值。用Bytes Total/sec计数器的值和网络的带宽进行比较,若超过50%,则说明网络存在性能瓶颈问题。 软件瓶颈分析方法 分析事务响应时间、吞吐量,确定是否存在性能问题,若发现存在性能问题,则找出响应时间不符合要求或者出现多个失败的事务,对其进行分解,然后对其进行网页细分,以确定影响性能的元素。测试指标测试指标:描述与测试场景对应的事务平均响应时间、事务吞吐
11、率、资源消耗指标、运行的用户数等信息。结果分析与总结结果分析与总结:根据测试目标,描述最后分析得到的结果,并给出相应的建议。性能测试概述 性能测试的步骤 测试实践(举例)测试实践(举例)某网站测试需求某网站测试需求 可以支持100个并发用户执行各种查询操作,要求各查询操作的响应时间在5秒以内,服务器CPU利用率在80%以下。性能需求分析性能需求分析 测试目的:验证是否满足应用要求(性能符合性验证)。 测试要素: 并发用户数-100。 测试功能网银业务用户登录网上银行金融系统,执行逐笔付款。 压力测试用例压力测试用例 明确测试目的 准备测试环境 确定测试数据 确定测试运行程序(脚本等) 明确预期
12、结果测试场景测试场景 场景1:100个用户同时执行网上支付逐笔付款操作。 场景2:100个用户同时执行定期付款-定期开立操作。 场景3:100个用户同时执行通知存款-通知开立操作。 场景4:100个用户同时执行信息查询-申请指令查询操作。 场景5:100个用户同时执行不同的操作,其中25个用户执行逐笔付款操作,25个用户执行定期开立操作,25个用户执行通知开立操作,25个用户执行申请指令查询操作。监测监测的系统资源的系统资源 网络阻塞情况 主机CPU使用情况 内存使用情况 缓存使用情况 数据库系统的数据锁LoadRunner介绍 Virtual User Generator 用来录制脚本、编辑
13、脚本 Controller 用来布置测试场景、执行测试场景 Analysis 用来对测试结果进行分析CompuWare 公司的QALoadQALoad;Mercury Interactive公司的LoadRunnerLoadRunner;Microsoft公司的WASWAS ;RadView公司的WebLoadWebLoad ;IBM公司的RPTRPT ;开源工具:OPENSTAOPENSTA等。1、简介 QALoad模拟成百上千的用户并发执行关键业务而完成对应用程序的测试,并针对所发现问题对系统性能进行优化,确保应用的成功部署。 QALoad不单单测试WEB应用,还可以测试一些后台的东西,比
14、如SQL Server等,只要是它支持的协议,都可以测试。 2、特征1)自动捕获实际执行过程,自动生成测试脚本; 2)通过控制台控制各个Agent,进行脚本分配; 3)应用广泛,支持多种协议,如DB2、ODBC、WWW、Winsock等等。1、简介LoadRunner 是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能检测来确认和查找问题,能够对整个企业架构进行测试。通过使用Loadrunner,企业能够最大限度的缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner 能支持广范的协议和技术,功能比较强大,可以为特殊环境提供特殊的解决方案。 2、特征
15、)轻松创建虚拟用户;)创建真实的负载;)定位性能问题;)分析结果以精确定位问题所在;)重复测试保证系统发布的高性能;)支持Enterprise Java Beans的测试; 7 )支持无线应用协议; 8 )支持Media Stream应用。、简介:简介:WAS-Web Application Stress是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响。、特征:、特征:1)可以数种不同的方式建立测试指令:包含以手动、录制浏览器操作步骤、或直接录入IIS的记录文件、
16、录入网站的内容及录入其它测试程序的指令等方式;2)支持多种客户端接口; 3)支持多用户:利用多种不同的认证方式仿真实际的情况。、简介:、简介:WebLoad是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;WebLoad通过模拟真实用户的操作,生成压力负载来测试web的性能。、特征:、特征:)用户创建的是基于javascript的测试脚本,称为议程agenda,用它来模拟客户的行为,通过执行该脚本来衡量web应用程序在真实环境下的性能。)如有需要可以在做负载测试的同时,使用服务器监控工具对服务器端的内容进行记录那样使负载测试更加全面。1、简介RPT-Rational Performance TesterRational Performance Tester是IBM基于Eclipse平台开发出来的最新性能测试解决方案。它可以有效地帮助测试人员和性能工程师验证系统的性能,识别和解决各种性能问题。2、特征 在为性能测试员和性能优化人员提供了前面所提到的各种性能测试能力以外,它还提供了可视化编辑器,一方面可以使新的测试人员可以在无需培训和编程的情况下,即可快速上手完成性能测
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026思想政治建设调研报告(3篇)
- 项目投资项目可行性研究指南
- 大连智慧农业沙盘实施方案
- 医院医师年终个人总结
- 2025届阳山县数学四下期中质量检测试题(含答案解析)
- 2026年松下(中国)秋招试题及答案
- 2026年石油化工招聘面试题及答案
- T8第一次联考-山西卷-2026届高三-2025年12月-政治-答案
- PDP职业性格分析和沟通技巧
- 2026年山东航空招聘面试题及答案
- 2026年秋季开学初中法治意识开学第一课
- 2026年新安全教育培训试题及答案
- 2026 年秋季开学初中军训闭训总结教育课件
- 新版2026小学数学新冀教版五年级上册全册教案(2026秋)合集
- 六年级道德与法治下学期期末模拟卷02(统编版)考试版A4
- 浙江省义金华市乌市2025-2026学年七年级下学期期末考试评价数学卷(含答案)
- 2026年四川省内江市辅警考试真题及答案
- GB/T 47767-2026微机电系统(MEMS)技术压电微悬臂梁机电转换特性的测试方法
- 2026年一建通信实务考前押题试卷及答案
- 施工质量月课件
- 典型心房扑动
评论
0/150
提交评论