性能测试培训

上传人:新** 文档编号:557230866 上传时间:2023-03-24 格式:DOCX 页数:27 大小:65.55KB
返回 下载 相关 举报
性能测试培训_第1页
第1页 / 共27页
性能测试培训_第2页
第2页 / 共27页
性能测试培训_第3页
第3页 / 共27页
性能测试培训_第4页
第4页 / 共27页
性能测试培训_第5页
第5页 / 共27页
点击查看更多>>
资源描述

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

1、性能测试培训(一)基础知识1. 软件性能测试的概念1.1 软件性能与性能测试软件性能:覆盖面广泛,对一个系统而言,包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等。性能测试:为保证系统运行后的性能能够满足用户需求,而开展 的一系列的测试组织工作。1.2 不同角色对软件性能的认识用户眼中的软件性能:软件对用户操作的响应时间如用户提交一个查询操作或打开一个 web 页面的链接等 业务可用度,或者系统的服务水平如何管理员眼中的软件性能:管理员关心的问题软件性能描述服务器的资源使用状况资源利用率系统支持多少用户访问,处理量系统的容量系统性能的可能瓶颈系统可扩展性更换哪些设备可提供系统

2、性能系统可扩展性系统能否支持7*24小时的业务访问系统稳定性开发人员眼中的软件性能:开发人员关心的问题软件性能描述架构设计是否合理系统架构数据库设计是否合理数据库设计代码是否需要优化代码1.3 性能测试的对象服务器端:负载均衡系统;服务器(单机、双机热备、集群); 存储系统、灾备中心; 数据库、中间件。网络端: 核心交换设备、路由设备; 广域网络、专线网络、局域网络、拨号网络等;应用系统:由此可见,性能测试是一个系统性的工作,被测对象包括系统运 行时使用的所有软硬件。但在实际操作时,将根据项目的特点,选择 特定的被测对象。1.4 性能测试的目标评价系统当前的性能:系统刚上线使用,即处于试运行时

3、,用户需要确定当前系统是否满足验收要求; 系统已经运行一段时间,如何保证一直具有良好的性能。 分析系统瓶颈、优化系统: 用户提出业务操作响应时间长,如何定位问题,调整性能; 系统运行一段时间后,速度变慢,如何寻找瓶颈,进而优 化性能。预见系统未来性能、容量可扩充性: 系统用户数增加或业务量增加时,当前系统是否能够满足 需求,如果不能,需要进行哪些调整?提高硬件配置?增 加应用服务器?提高数据库服务器的配置?或者是需要对 代码进行调整?1.5 性能测试的分类按照测试压力级别: 负载测试; 压力测试;按照测试实施目标: 应用在客户端的测试; 应用在网络的测试; 应用在服务器端的测试;按照测试实施策

4、略:并发性能测试;疲劳强度测试I .、样.r rrt 日、口、h大数据量测试;失效恢复测试其他分类:并发测试;执行效率测试资源占用测试容量测试;网络测试;稳定性测试。1.5.1 负载测试负载测试是为了确定系统在各种工作负载下的性能,目标是测 试当负载逐渐增加时,系统的性能变化,并最终确定在满足性能 指标的情况下,系统所能承受的最大负载量。如:系统在保证一定的响应时间(或稳定性)的情况下,能够 允许多少并发用户访问。系统的各项指标包括:响应时间、CPU负载、内存使用等如何决定系统的性能。1.5.2 压力测试压力测试通过确定一个系统的瓶颈或者不能接受的性能点,来 获得系统能提供的最大的服务级别的测

5、试。通俗的讲,压力测试 是为了发现在什么条件下,应用程序的性能会变得不可接受。1.5.3 并发性能测试并发性能测试是一般意义上的负载压力测试。1.5.4 疲劳强度测试疲劳强度测试是通过一定时间长度的负载压力测试,使测试者 能够了解系统是否可以满足7*24 小时运行的需要。疲劳强度测试 属于可靠性测试的范畴。1.5.5 大数据量测试大数据量测试是测试应用程序随着数据库数据量级数增加的 情况下的性能表现。1.5.6 失效恢复测试失效恢复测试是针对有冗余备份或负载均衡的系统来说的。检 验当系统局部发生故障时,系统灾备措施是否可以正常启动,用 户是否可以继续使用。通过实施失效恢复测试,评估系统的健壮

6、性和可恢复性。2. 性能测试策略2.1. 应用在客户端的测试2.1.1. 实现机制通过在一台或几台 PC 机上模拟成百上千的虚拟用户同时执行 业务的情景,对应用程序进行测试。通过可重复的、真实的测试, 能够彻底的度量应用程序的性能,确定问题所在。2.1.2. 常用工具商业测试工具LoadRunner, Rational Robot,QALoad,SilkPerformor开源(OpenSource )测试工具Apache Jmeter,0pentSTA 自主开发测试程序或者测试工具2.1.3. 自动化性能测试的优势自动化性能测试的优势可靠每次运行精确地执行相同的操作,可以排除手工操作错误;可重

7、复测试相同操作重复执行时,软件如何响应可编程可以编程实现得到应用系统隐藏信息的复杂测试综合测试可以实现覆盖应用系统每个特征的一套综合测试方案可重用的针对应用系统的不同版本,测试脚本可重复使用,即使用户界面发生变化2.1.4. 测试工具使用的基本步骤录制业务流程,形成测试脚本;修改调试脚本; 执行性能测试。2.1.5. 测试脚本执行策略性能测试脚本应本着一一对应的原则录制业务,即一个脚本仅 针对一项业务录制。测试脚本执行策略应按照以下顺序执行:1、单一脚本单用户执行;2、单一脚本多用户执行;3、采用增殖的方式集成混合脚本,且仅使用单用户执行;4、混合脚本多用户执行。2.2. 应用在网络的测试2.

8、2.1. 网络仿真技术网络仿真技术的作用是模拟网络的吞吐量、延时、抖动、错包、 丢包等性能特性,从而在测试环境下就可以得到设备或软件在实 际的网络环境下的表现,并在发现性能问题时,对每个数据包进 行分析,从而可以快速的找到问题所在。2.2.2. 网络性能监控2.2.2.1. 测试目标分析关键应用程序的性能;定位问题的根源是在客户端、服务器、应用程序还是网络; 哪些应用程序占用大量带宽; 哪些应用程序导致系统瓶颈或资源竞争; 哪些应用程序产生了最大的网络流量。2.2.2.2. 常用工具 Compuware: Network Vantage HP : Network Node Manager IB

9、M:Tivoli2.2.2.3. 工作原理在客户端、应用服务器端、数据库服务器端等处部署捕捉点采集数据,并利用管理工具对采集到的数据进行分析。 捕捉点: Agent 被动监听数据包来实现实时数据采集分析:Agent Manager完成对所跟踪到的数据的分析2.2.2.4. 响应时间的计算0.31 秒0.31 秒1服务器2.11 秒0秒客户端0.89客户端3秒上图为响应时间的示意图。图中共设置四个捕捉点,客户端在第 0 秒发出请求,服务器在第 0.31 秒接收到客户端的请求,服务器响应 请求后,在第 2.11 秒时发送响应结果,客户端在第 3 秒时接收到响 应结果。因此,上图中的响应时间应为3

10、秒。注意,在应用逻辑路径上多点数据采集,以便于在任何两个节点 间进行数据整合,测量分段的响应时间,分析应用故障。2.2.2.5. 实现方法探针采集、存储数据,并根据应用对数据进行分类。设置的原则是 根据网络组成和监控要求。 探针管理器管理配置探针,设定数据采集与上传时间,汇总收集的数据。时间服务器对探针进行时针同步 交互界面数据展示平台2.3. 应用在服务器端的测试2.3.1. 对服务器操作系统的监控对服务器操作系统的监控内容如下: CPU 内存 & SWAP 磁盘管理 网络 文件系统 活动的进程2.3.2. 对数据库的监控对数据库的监控内容如下: 监控数据库系统中关键的资源 监测读写页面的使

11、用情况 监控超出共享内存缓冲区的操作数 监测上一轮询期间作业等待缓冲区的时间跟踪共享内存中物理日志和逻辑日志的缓冲区的使用 率 监控磁盘的数据块使用情况以及被频繁读写的热点区 域 监控用户事务或者表空间监控事务日志 监控数据库锁资源 监测关键业务的数据表的表空间增长 监控 SQL 执行情况2.3.3. 对中间件的监控对中间件的监控,需要分析具体的中间件的特性,以确定监控 内容。如:IBM的MQ,则需要监控其Client信息、队列信息、服 务信息等。2.3.4. 监控方法 监控工具spotslight、 tivoli、 nmon、 siteview 操作系统本身自带命令如:vmstat ,ios

12、tat,netstat,top,topas3. 性能测试需求分析3.1. 原始需求与测试目标的制定原始需求测试目标要花多少时间做完笔交易?测量对最终用户的响应时间什么样的配置提供了最好的性能?确定最优硬件配系统能在无错情况下能承担多大及多 长时间的负载?可靠性测试这些升级对系统性能影响多大?测试软、硬件升级前后的性能表现并作出对比服务器应该选择哪些硬件与软件?评估新产品在没有较大性能衰减的前提下,系统能够承受多大负载?测试系统负载哪些因素降低交易响应时间分析系统瓶颈3.2. 测试强度估算8020原理:每个工作日中80%的业务在20%的时间内完成。 举例:每年业务量集中在8个月,每个月20个工作

13、日,每个工作日 8小 时,即每天80%的业务在1.6(8*0.2)小时完成。去年全年处理业务约100万笔,其中15%的业务处理中每笔业务 需对应用服务器提交 7 次请求;其中 70%的业务处理中每笔业务需 对应用服务器提交 5 次请求;其余 15%的业务处理中每笔业务需对 应用服务器提交 3 次请求。根据以往统计结果,每年的业务增量为 15,考虑到今后3 年业务发展的需要,测试需按现有业务量的两倍 进行。每年总的请求数:(100x15%x7+100x70%x5+100x15%x3)x2=1000 万次/年每天请求数:1000/160(8*20)=6.25 万次/天每秒请求数:(62500x80%)/(8x3600x20%)=8.68 次/秒 即服务器处理请求的能力应达到9 次/秒 几个关键数据:全年业务总量;各类业务请求次数; 各类业务所占百分比; 交易发生时间; 年业务增量。3.3. 测试需求分析方法3.3.1. 任务分布图关注点: 有哪些交易任务; 在一天的某些特定时刻系统都有哪些主要操作。登录220250210记账10151221创建记录1801101209050数据更新90755030查询50302015批处理202515生成报表506040系统备份11812024681012141618202224根

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

当前位置:首页 > 学术论文 > 其它学术论文

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