




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高级性能测试经典学习文档第1页,共171页,2022年,5月20日,21点49分,星期四2课程内容介绍 测试策略制定测试结果指标分析测试典型案例分析 测试技术讨论测试工具的使用技巧第2页,共171页,2022年,5月20日,21点49分,星期四3测试策略制定概念测试计划测试流程包括哪些步骤测试要达到什么目的选择什么协议进行测试如何编写一个完整的测试方案 测试指标包括哪些内容自动化负载压力测试策略第3页,共171页,2022年,5月20日,21点49分,星期四4测试结果指标分析客户端负载压力指标 服务器资源使用指标网络监控指标第4页,共171页,2022年,5月20日,21点49分,星期四5测试
2、典型案例分析系统故障定位与分析数据库服务器典型性能调优与评估Oracle数据库性能调优案例测试经验交流第5页,共171页,2022年,5月20日,21点49分,星期四6测试工具的使用技巧负载压力测试工具:LoadRunner8.0功能回归测试工具:WinRunner7.6测试管理工具:TestDirector8 .0第6页,共171页,2022年,5月20日,21点49分,星期四7性能测试 系统的性能是一个很大的概念,覆盖面非常广泛,对一个软件系统而言包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等等,我们这里重点讨论的负载压力是系统性能的一个重要方面。 性能测试用来保证产品
3、发布后系统的性能满足用户需求。性能测试在软件质量保证中起重要作用。 第7页,共171页,2022年,5月20日,21点49分,星期四8负载测试负载测试是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统的性能,例如稳定性和响应等。负载测试通常描述一种特定类型的压力测试,即增加用户数量以对应用程序进行压力测试。第8页,共171页,2022年,5月20日,21点49分,星期四9压力测试 压力测试通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大的服务级别的测试。通俗地讲,压力测试是为了发现在
4、什么条件下您的应用程序的性能会变得不可接受。第9页,共171页,2022年,5月20日,21点49分,星期四10负载压力测试负载压力测试是性能测试的重要组成部分,负载压力测试包括:并发性能测试(重点)疲劳强度测试大数据量测试 第10页,共171页,2022年,5月20日,21点49分,星期四11负载压力测试第11页,共171页,2022年,5月20日,21点49分,星期四12负载压力测试并发性能测试 考察客户端应用的性能,测试的入口是客户端并发性能测试的过程,是一个负载测试和压力测试的过程。即逐渐增加并发虚拟用户数负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标、资源监控指标
5、等来确定系统并发性能的过程。并发性能测试是负载压力测试中的重要内容。 第12页,共171页,2022年,5月20日,21点49分,星期四13负载压力测试疲劳强度测试 通常是采用系统稳定运行情况下能够支持的最大并发用户数或 者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。 疲劳强度测试案例制定的原则是保证系统长期不间断运行的业务量,并且应该尽量去满足该条件。 第13页,共171页,2022年,5月20日,21点49分,星期四14负载压力测试大数据量测试 大数据量测试的两种类型 独立的数据量测试 针对某些系统存储、传输、统计、查
6、询等业务进行大 数据量测试 综合数据量测试 和压力性能测试、负载性能测试、并发性能测试、疲劳性能测试相结合的综合测试方案 第14页,共171页,2022年,5月20日,21点49分,星期四15测试计划 分析应用程序 定义测试目标 计划方案实施检查测试目标 第15页,共171页,2022年,5月20日,21点49分,星期四16制定测试计划的目的构建能够精确地模拟您的工作环境的测试方案。 了解测试需要的资源。 以可度量的指标定义测试成功条件。 第16页,共171页,2022年,5月20日,21点49分,星期四17分析应用程序确定系统组件描述系统配置 分析使用模型 任务分布 第17页,共171页,2
7、022年,5月20日,21点49分,星期四18确定系统组件客户机、网络、中间件和服务器 第18页,共171页,2022年,5月20日,21点49分,星期四19描述系统配置连接到系统的用户数应用程序客户端计算机的配置情况(硬件、内存、操作系统、软件、开发工具等)使用的数据库和Web 服务器的类型(硬件、数据库类型、操作系统、文件服务器等)服务器与应用程序客户端之间的通信方式前端客户端与后端服务器之间的中间件配置和应用程序服务器可能影响响应时间的其他网络组件(调制解调器等)第19页,共171页,2022年,5月20日,21点49分,星期四20分析使用模型考虑哪些用户使用系统每种类型用户的数量每个用
8、户的典型任务 第20页,共171页,2022年,5月20日,21点49分,星期四21任务分布确定数据库活动峰值期的发生时间负载峰值期间的典型活动 第21页,共171页,2022年,5月20日,21点49分,星期四22定义测试目标第22页,共171页,2022年,5月20日,21点49分,星期四23定义测试目标以可度量的指标制定目标确定测试的时间 第23页,共171页,2022年,5月20日,21点49分,星期四24确定测试的时间第24页,共171页,2022年,5月20日,21点49分,星期四25计划方案实施定义性能度量的范围定义Vuser活动 选择Vuser 选择测试硬件和软件第25页,共1
9、71页,2022年,5月20日,21点49分,星期四26定义性能度量的范围度量应用程序中不同点的响应时间。根据测试目标确定在哪里运行虚拟用户运行哪些虚拟用户第26页,共171页,2022年,5月20日,21点49分,星期四27应用程序中不同点的响应时间度量端到端的响应时间:第27页,共171页,2022年,5月20日,21点49分,星期四28应用程序中不同点的响应时间度量网络和服务器响应时间: 第28页,共171页,2022年,5月20日,21点49分,星期四29应用程序中不同点的响应时间度量GUI 响应时间:GUI 响应时间= 端到端响应时间- 网络和服务器响应时间 第29页,共171页,2
10、022年,5月20日,21点49分,星期四30应用程序中不同点的响应时间度量服务器响应时间:第30页,共171页,2022年,5月20日,21点49分,星期四31应用程序中不同点的响应时间度量中间件到服务器的响应时间:第31页,共171页,2022年,5月20日,21点49分,星期四32选择Vuser第32页,共171页,2022年,5月20日,21点49分,星期四33选择测试硬件和软件硬件和软件应该具有强大的性能和足够快的运行速度,以模拟所需数量的虚拟用户 。第33页,共171页,2022年,5月20日,21点49分,星期四34检查测试目标度量最终用户响应时间 定义最优的硬件配置 检查可靠性
11、 确定瓶颈 度量系统容量 第34页,共171页,2022年,5月20日,21点49分,星期四35定义最优的硬件配置举例例如,您可以设置三种不同的服务器配置,并针对各个配置运行相同的测试,以确定性能上的差异:. 配置1:200MHz、64MB RAM. 配置2:200MHz、128MB RAM. 配置3:266MHz、128MB RAM第35页,共171页,2022年,5月20日,21点49分,星期四36检查可靠性举例确定系统在连续的高工作负载下的稳定性级别。强制系统在短时间内处理大量任务,以模拟系统在数周或数月的时间内通常会遇到的活动类型。第36页,共171页,2022年,5月20日,21点4
12、9分,星期四37确定瓶颈举例您可以运行测试以确定系统的瓶颈,并确定哪些因素导致性能下降,例如,文件锁定、资源争用和网络过载。第37页,共171页,2022年,5月20日,21点49分,星期四38度量系统容量举例查看现有系统中性能与负载间的关系,并确定出现响应时间显著延长的位置 “拐点”。可以确定是否需要增加资源以支持额外的用户。第38页,共171页,2022年,5月20日,21点49分,星期四39测试流程步骤测试需求分析 测试案例制定 测试环境、工具、数据准备 测试脚本录制、编写与调试负载压力场景制定 测试执行 结果分析与定位问题 测试报告与测试评估 第39页,共171页,2022年,5月20
13、日,21点49分,星期四40测试目的在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况预见系统负载压力承受力,在应用实际部署之前,评估系统性能 帮助软件厂商或用户分析系统瓶颈、优化系统 第40页,共171页,2022年,5月20日,21点49分,星期四41测试目的实现目的的测试方法: 性能检测 性能调优 第41页,共171页,2022年,5月20日,21点49分,星期四42性能检测在真实生产环境下,检测系统性能,评估并报告整个系统的性能和健壮情况检查服务等级的满足情况对系统的未来容量作出预测和规划 第42页,共171页,2022年,5月20日,21点49分,星期四43性能调优查找系统
14、瓶颈的根本原因评估性能调整的效果在测试环境下再现性能问题 第43页,共171页,2022年,5月20日,21点49分,星期四44选择测试协议客户端与直接压力承受的服务器之间的通讯协议是选择测试协议的唯一标准 第44页,共171页,2022年,5月20日,21点49分,星期四45测试协议 Client/Server: MS SQL, ODBC, Oracle (2-tier), DB2 CLI, Sybase Ctlib, Sybase Dblib,infomix,Windows Sockets及DNS定制: C templates, Visual Basic templates, Java t
15、emplates, Javascript 及 VBscript. 分布式组件: COM/DCOM, Corba-Java, 及Rmi -Java.E-business: FTP, LDAP, Palm, SOAP, Web (HTTP/HTML), 及the dual Web/Winsocket.Enterprise Java Beans: EJB Testing及Rmi-Java.Legacy: Terminal Emulation (RTE).Mailing Services: Internet Messaging (IMAP), MS Exchange (MAPI), POP3, 及SM
16、TP.Middleware: Jacada及Tuxedo (6, 7).Streaming: MediaPlayer及RealPlayer. Wireless: i-Mode, VoiceXML, 及WAP第45页,共171页,2022年,5月20日,21点49分,星期四46编写一个完整的测试方案 应用在客户端性能的测试 应用在网络上性能的测试 应用在服务器上性能的测试一个测试方案的例子一个测试计划的例子第46页,共171页,2022年,5月20日,21点49分,星期四47测试指标客户端交易处理性能指标 服务器资源监控,例如: UNIX数据库资源监控,例如: OracleWeb服务器监控,例如
17、: Apache中间件监控,例如: TUXEDO等等第47页,共171页,2022年,5月20日,21点49分,星期四48自动化负载压力测试利用或开发负载压力测试的自动化测试方法,包括:程序、工具、流程等等。第48页,共171页,2022年,5月20日,21点49分,星期四49自动化负载压力测试优势自动化测试优势分析快速比手工操作绝对快可靠每一次运行精确地执行相同的操作,可以排除手工操作错误可重复测试相同操作重复执行时软件如何响应可编程的可以编程实现得到应用系统隐藏信息的复杂测试综合测试可以实现覆盖应用系统每个特征的一套综合测试方案可重用的针对应用系统的不同版本,测试脚本可重复使用,即使用户界
18、面发生变化第49页,共171页,2022年,5月20日,21点49分,星期四50选择自动化负载压力测试方法利用自动化负载压力测试工具 开放资源(OpenSource)测试 自主开发代码测试 第50页,共171页,2022年,5月20日,21点49分,星期四51自动化负载压力测试概念通过在一台或几台PC机上模拟成百或上千的虚拟用户同时执行业务的情景,对应用程序进行测试,通过可重复的、真实的测试能够彻底地度量应用的性能,确定问题所在。工程项目实践证明,其测试结果与实际情况完全符合。第51页,共171页,2022年,5月20日,21点49分,星期四52自动化负载压力测试实现机制自动负载测试第52页,
19、共171页,2022年,5月20日,21点49分,星期四53自动化负载压力测试工具LoadRunner美国Mercury Interactive公司QALoad美国Compuware(康博)公司Rational Robot 美国IBM公司SILK PERFORMER V 美国Segue 公司Benchmark Factory美国Quest软件公司WAS美国Mcrosoft 公司第53页,共171页,2022年,5月20日,21点49分,星期四54自动化负载压力测试工具自动化负载压力测试工具对比第54页,共171页,2022年,5月20日,21点49分,星期四55自动化负载压力测试工具选择依据模
20、拟您的客户机运行多个模拟的客户机 脚本化执行并能编辑脚本 支持会话 可配置的用户数量 报告成功、错误和失败 第55页,共171页,2022年,5月20日,21点49分,星期四56自动化负载压力测试工具缺陷缺乏功能点的校验对有些控件支持得不好不能达到真实模拟负载脚本的支持不够灵活报错定位不够详细第56页,共171页,2022年,5月20日,21点49分,星期四57自动化负载压力测试工具盲点在负载测试中,不进行功能校验,就是当功能错误发生时,测试工具不能够记录产生的功能性错误,这就忽略了负载压力情况下的功能不稳定问题。在负载压力测试过程中记录所有虚拟用户的操作及服务器的响应是当前负载压力测试技术发
21、展的最大挑战。但测试过程中的附加记录会导致资源消耗、操作行为增加以及产生大量日志等问题。 第57页,共171页,2022年,5月20日,21点49分,星期四58开放资源(OpenSource)测试 开放系统测试体系OpenSTA ) TestMaker() Apache JMeter (/jmeter/) 第58页,共171页,2022年,5月20日,21点49分,星期四59开发测试工具举例Web服务器通用性能测试系统的设计与实现实际系统由四部分组成:模板文件数据文件性能测试程序结果处理程序第59页,共171页,2022年,5月20日,21点49分,星期四60开发测试工具举例系统结构示意图第6
22、0页,共171页,2022年,5月20日,21点49分,星期四61开发测试工具举例主流程图第61页,共171页,2022年,5月20日,21点49分,星期四62开发测试工具举例通用应用系统性能评测环境设计第62页,共171页,2022年,5月20日,21点49分,星期四63开发测试工具举例通用应用系统性能评测环境设计第63页,共171页,2022年,5月20日,21点49分,星期四64开发测试工具举例通用应用系统性能评测环境设计接口名称功能接口函数原型(C语言描述)事务处理逻辑类型此接口提供应用系统相关的事务类型ID,通常情况下应用系统由多种事务组成,评测系统应该能够区分它们Int Perf_
23、GetTransactionID(void);接口初始化初始化应用系统。诸如创建数据库连接等操作在此接口中进行int Perf_InitLib(void);执行事务处理实际事务处理接口,事务执行的起止时间和执行状态在此记录int Perf_DoTransaction(void* pBuffer,int nBufferSize);接口资源释放释放应用系统资源。诸如关闭数据库连接等操作在此函数int Perf_FreeLib(void);第64页,共171页,2022年,5月20日,21点49分,星期四65开发测试工具举例通用应用系统性能评测环境设计操作系统开发环境Win32(WindowsNT4
24、/2000/XP)Visual C+ 6.0 SP5SUN Solaris8(x86)Forte C+ 6 Update 2Linux(x86 kernel 2.4.7 glibc 2.2.4)KDevelop 2.0第65页,共171页,2022年,5月20日,21点49分,星期四66测试结果指标分析客户端负载压力指标为了完成一个任务,用户对应用程序执行的一组操作,例如登陆一个Web站点、搜索一个飞机票信息、在网上买一本书等等。虚拟并发用户数(Total Virtual Users)交易响应时间(Response Time) 每分钟交易数(Trans Rate)吞吐量图 (ThroughOu
25、t)第66页,共171页,2022年,5月20日,21点49分,星期四67测试结果指标分析客户端负载压力指标-交易处理指标. 平均事务响应时间图. 每秒事务数图. 每秒事务总数. 事务摘要图. 事务性能摘要图. 事务响应时间(负载下)图. 事务响应时间(百分比)图. 事务响应时间(分布)图第67页,共171页,2022年,5月20日,21点49分,星期四68测试结果指标分析客户端负载压力指标-Web请求指标. 每秒点击次数图. 点击次数摘要图. 吞吐量图. 吞吐量摘要图. HTTP 状态代码摘要图. 每秒HTTP 响应数图. 每秒下载页面数图. 每秒重试次数图. 重试次数摘要图. 连接数图.
26、每秒连接数图. 每秒SSL 连接数图第68页,共171页,2022年,5月20日,21点49分,星期四69测试结果指标分析客户端负载压力指标-Web页面组件指标. 激活网页细分图. 页面组件细分图. 页面组件细分(随时间变化)图. 页面下载时间细分图. 页面下载时间细分(随时间变化)图. 第一次缓冲细分时间图. 第一次缓冲时间细分(随时间变化)图. 已下载组件大小图第69页,共171页,2022年,5月20日,21点49分,星期四70测试结果指标分析服务器资源使用指标-UNIX第70页,共171页,2022年,5月20日,21点49分,星期四71测试结果指标分析服务器资源使用指标-Window
27、s2000 Server第71页,共171页,2022年,5月20日,21点49分,星期四72测试结果指标分析服务器资源使用指标-Windows2000 Server(续)第72页,共171页,2022年,5月20日,21点49分,星期四73测试结果指标分析服务器资源使用指标-Windows2000 Server(续)看一个例子第73页,共171页,2022年,5月20日,21点49分,星期四74测试结果指标分析服务器资源使用指标-数据库SQLServer第74页,共171页,2022年,5月20日,21点49分,星期四75测试结果指标分析服务器资源使用指标-中间件Tuxedo第75页,共17
28、1页,2022年,5月20日,21点49分,星期四76测试结果指标分析网络监控指标:吞吐量容量(信道容量或带宽)利用率最优利用率可提供负载有效率延迟延迟变化量响应时间第76页,共171页,2022年,5月20日,21点49分,星期四77测试典型案例分析系统故障定位与分析最难的问题第77页,共171页,2022年,5月20日,21点49分,星期四78系统瓶颈分析举例经验举例1交易的响应时间如果很长,远远超过系统性能需求,表示耗费CPU的数据库操作,例如排序,执行aggregate functions(例如sum、min、max、count)等较多,可考虑是否有索引以及索引建立的是否合理;尽量使用
29、简单的表联接;水平分割大表格等方法来降低该值。 第78页,共171页,2022年,5月20日,21点49分,星期四79系统瓶颈分析举例经验举例2分段排除错误。测试工具可以模拟不同的虚拟用户来单独访问Web服务器、应用服务器和数据库服务器,这样,就可以在Web端测出的响应时间减去以上各个分段测出的时间就可以知道瓶颈在哪并着手调优。 第79页,共171页,2022年,5月20日,21点49分,星期四80系统瓶颈分析举例经验举例3UNIX资源监控(NT操作系统同理)中指标内存页交换速率(Paging rate),如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。也可能是内存访
30、问命中率低。“Swap in rate”和“Swap out rate”也有类似的解释。 第80页,共171页,2022年,5月20日,21点49分,星期四81系统瓶颈分析举例经验举例4UNIX资源监控(NT操作系统同理)中指标CPU占用率(CPU utilization),如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器 。合理使用的范围在60%至70%。第81页,共171页,2022年,5月20日,21点49分,星期四82系统瓶颈分析举例经验举例5UNIX资源监控(NT操作系统同理)中指标磁盘交换率(Disk rate),如果该参数值一直很高,表明I/O
31、有问题。可考虑更换更快的硬盘系统、重新部署业务逻辑等,另外设置Tempdb in RAM,减低max async IO,max lazy writer IO等措施都会降低该值。 第82页,共171页,2022年,5月20日,21点49分,星期四83系统瓶颈分析举例经验举例6Tuxedo资源监控中指标队列中的字节数(Bytes on queue),队列长度应不超过磁盘数的1.52倍。要提高性能,可增加磁盘。注意:一个Raid Disk实际有多个磁盘。第83页,共171页,2022年,5月20日,21点49分,星期四84系统瓶颈分析举例经验举例7SQLServer资源监控中指标缓存点击率(Cach
32、e Hit Ratio),该值越高越好。如果持续低于80%,应考虑增加内存。 注意该参数值是从SQL Server启动后,就一直累加记数,所以运行经过一段时间后,该值将不能反映系统当前值。 第84页,共171页,2022年,5月20日,21点49分,星期四85优化调整设置 CPU问题:考虑使用更高级的CPU代替目前的CPU对于多CPU,考虑CPU之间的负载分配考虑在其它体系上设计系统,例如增加前置机、设置并行服务器等。第85页,共171页,2022年,5月20日,21点49分,星期四86优化调整设置 内存和高速缓存内存的优化包括操作系统、数据库、应用程序的内存优化。过多的分页与交换可能降低系统
33、的性能内存分配也是影响系统性能的主要原因保证保留列表具有较大的邻接内存块调整数据块缓冲区大小(用数据块的个数表示)是一个重要内容将最频繁使用的数据保存在存储区中第86页,共171页,2022年,5月20日,21点49分,星期四87优化调整设置 磁盘(I/O)资源问题磁盘读写进度对数据库系统是至关重要的,数据库对象在物理设备上的合理分布能改善性能磁盘镜像会减慢磁盘写的速度通过把日志和数据库对象分布在独立的设备上可以提高系统的性能把不同的数据库放在不同的硬盘上,可以提高读写速度。经常把数据库、回滚段、日志放在不同的设备上把表放在一块硬盘上,把非簇的索引放在另一块硬盘上,保证物理读写更快第87页,共
34、171页,2022年,5月20日,21点49分,星期四88优化调整设置 调整配置参数包括操作系统和数据库的参数配置并行操作资源限制的参数(并发用户的数目、会话数)影响资源开销的参数与I/O有关的参数第88页,共171页,2022年,5月20日,21点49分,星期四89优化调整设置 优化应用系统网络设置可以通过数组接口来减少网络呼叫。不是一次提取一行,而是在单个往来往返中提取10行,这样做效率较高调整会话数据单元的缓冲区大小共享服务进程比专用服务进程提供较好的性能第89页,共171页,2022年,5月20日,21点49分,星期四90故障定位与分析 一个测试实例第90页,共171页,2022年,5
35、月20日,21点49分,星期四91测试典型案例分析 数据库服务器典型性能调优与评估第91页,共171页,2022年,5月20日,21点49分,星期四92数据库服务器典型性能问题数据库服务器性能问题及原因分析 单一类型事务响应时间过长 数据库服务器负载 糟糕的数据库设计 事务粒度过大 批任务对普通用户性能的影响 并发处理能力差 锁冲突严重 资源锁定造成的数据库事务超时 数据库死锁 第92页,共171页,2022年,5月20日,21点49分,星期四93数据库服务器典型性能问题数据库性能问题的一般解决办法 监视性能相关数据;定位资源占用较大的事务并做出必要的优化或调整;定位锁冲突,修改锁冲突发生严重
36、的应用逻辑;对规模较大的数据或者无法通过一般优化解决的锁冲突进行分布。第93页,共171页,2022年,5月20日,21点49分,星期四94Oracle与提高性能有关的特性 索引并行执行簇与散列簇分区多线程服务器同时读取多块数据 第94页,共171页,2022年,5月20日,21点49分,星期四95Oracle配置的关键参数 MAX_DSPATCHERS:这个参数指定了系统允许同时进行的调度进程的最大数量。MAX_SHARED_SERVERS:这个参数指定了系统允许同时进行的共享服务器进程的最大数量。如果系统中出现的人为死锁过于频繁,那么管理员应该增大这个参数的值。PARALLEL_ADAPT
37、IVE_MULTI_USER:当这个参数的值为TRUE时,系统将启动一个能提高使用并行执行的多用户系统性能的自适应算法。这个算法将根据查询开始时的系统负载自动降低查询请求的并行度。第95页,共171页,2022年,5月20日,21点49分,星期四96Oracle配置的关键参数 PARLLEL_MIN_SERVERS:这个参数指定了实例并行执行进程的最小数量。其值就是实例启动时Oracle创建的并行执行进程数。PARLLEL_THREADS_PER_CPU:这个参数指定了实例默认的并行度和并行自适应以及负载平衡算法。它指明了并行执行过程中一个CPU能处理的进程或线程数。PARTITION_VIE
38、W_ENABLED:这个参数指定了优化器是否使用分区视图。Oracle推荐用户使用分区表(这是在Oracle8之后引入的)而不是分区视图。分区视图只是为了提供Oracle的后向兼容性。REVOVERY_PARALLELISM:这个参数指定了恢复数据库系统时使用的进程数。 第96页,共171页,2022年,5月20日,21点49分,星期四97Oracle的索引 索引和降低系统处理的数据量 索引和更新 在字段选择性很低的情况下适用索引第97页,共171页,2022年,5月20日,21点49分,星期四98Oracle的并行执行特性 RDBMS的绝大多数操作都可分为以下3类:被CPU限制的操作:这类操
39、作的速度和单CPU运行速度一样。通过并行化操作,多个CPU可并行处理系统负载,因此可以更快完成该操作。被I/O限制的操作:这类操作花了绝大部分时间等待系统完成I/O操作。当系统中同时出现多个I/O请求时,绝大多数RAID控制器将很好工作。另外,当一个线程需要等待完成I/O操作时,可充分利用CPU来处理另一线程的CPU部分。被竞争限制的操作:并行处理不能改善由资源竞争所限制的操作。第98页,共171页,2022年,5月20日,21点49分,星期四99Oracle的并行执行特性 应当首先根据如下一些因素考虑并行度 :计算机的CPU能力:CPU的数量和能力将影响系统能运行的查询进程数量。系统处理大量
40、进程的能力:一些操作系统能处理很多并发进程,而另一些操作系统则没有这方面的能力。系统负载:如果系统现在的运行已经达到了极限,那么对并行度的调整不会有太大效果。如果系统运行已达其能力极限的90%,那么太多的查询进程将使系统不堪重负。系统处理的查询数量:如果系统的大部分操作是更新操作,但仍有少量的重要查询存在,那么开发人员可能希望系统运行多个查询进程。系统的I/O能力:如果磁盘上的数据是分片或是使用磁盘阵列存储的,那么系统能够处理多个并行查询。操作类型:系统是否需要处理很多的全表扫描或排序?并行查询服务器非常有助于这类操作。第99页,共171页,2022年,5月20日,21点49分,星期四100O
41、racle的并行执行特性 并行查询处理 并行创建索引 并行加载数据 并行恢复 第100页,共171页,2022年,5月20日,21点49分,星期四101Oracle的并行执行特性 关于并行度的一些建议 :诸如排序之类的需要大量CPU资源的操作应当采用较低的并行度。其原因是这类受限于CPU的操作已经充分利用了CPU,而不需等待系统的I/O操作。诸如全表扫描之类的需要大量磁盘I/O的操作应当采用较高的并行度。需要等待磁盘I/O的操作越多,系统就越能受益于并行操作。如果系统中有大量的并发进程,那么应当采用较低的并行度。因为太多的进程将使系统不堪重负。 第101页,共171页,2022年,5月20日,
42、21点49分,星期四102Oracle的簇与散列簇 有利 不利第102页,共171页,2022年,5月20日,21点49分,星期四103Oracle的同时读取多块数据 当系统执行表扫描时,Oracle具备同时读取多个数据块的能力,这种能力提高了系统的I/O速度。通过同时读取多块数据,Oracle能够从磁盘上读取更大的数据块,从而避免了对磁盘上数据进行搜索的操作。通过降低磁盘搜索和读取更大的数据块,可以降低系统的I/O开销和CPU开销。 第103页,共171页,2022年,5月20日,21点49分,星期四104Oracle的分区 分区方案:Range Partitioning:这种方案根据数据的
43、范围,比如月、年等等对表中的数据进行分区。List Partitioning:这种方案和Range Partitioning分区方案很类似,但这种方案是按照数据的值而不是数据的范围来进行分区划分的。Hash Partitioning:这种分区方案使用散列函数来实现对数据的自动分区。Sub- Partitioning:这种方法就是开发人员熟悉的复合分区方法。这种方法允许开发人员同时使用多种分区方案。第104页,共171页,2022年,5月20日,21点49分,星期四105Oracle的分区 分区有以下几方面的好处 :对能被分区的大尺寸表进行扫描时,分区可降低I/O操作和CPU的使用率。可在分区的
44、层次上而不是表的层次上加载数据。能以删除分区的方式删除数据,而不必使用SELECT语句来删除大量数据。对用户和应用程序而言,分区是完全透明的。可在分区层次上而不是在表层次上维护数据。第105页,共171页,2022年,5月20日,21点49分,星期四106Oracle的多线程服务器 用户可通过专用服务器进程连接到Oracle实例,也可以通过多线程服务器进程连接到Oracle实例。因为每一个专用服务器进程都将占用大量内存资源和系统资源,所以有必要对多用户连接采用多线程服务器进程。 多线程服务器进程允许多个用户使用一定数量的共享服务器进程。共享服务器进程使用共享缓冲池对用户请求进行排队并返回数据,
45、从而大大减少CPU和内存的使用。 第106页,共171页,2022年,5月20日,21点49分,星期四107测试典型案例分析硬件配置与系统性能测试实例第107页,共171页,2022年,5月20日,21点49分,星期四108测试典型案例分析服务器集群与系统性能测试实例第108页,共171页,2022年,5月20日,21点49分,星期四109案例测试经验交流负载均衡与系统性能测试实例第109页,共171页,2022年,5月20日,21点49分,星期四110案例测试经验交流负载均衡基础知识负载均衡策略:静态方式、动态方式:负载均衡针对的应用负载均衡记录文件用户表回话保持概念回话保持方式负载均衡器布
46、置第110页,共171页,2022年,5月20日,21点49分,星期四111测试典型案例分析案例测试经验交流第111页,共171页,2022年,5月20日,21点49分,星期四112案例测试经验交流一个文档、邮件接收与发送系统:业务“下传文档”录制不全,本地保存与打开不能够录制上。Weblogic监控需要做的准备工作是系统不能登陆,IE问题Windows 2000 Server的资源监控把握3个重点Unix资源监控,如果LoadRunner无法监控 7.5的license加到7.8上,出现监控counter全部丢失的现象在结果文件analysis中直接可以得到excel格式的结果第112页,共
47、171页,2022年,5月20日,21点49分,星期四113案例测试经验交流一个多媒体处理系统:出现业务“登陆”无法并发的现象 “登陆”无法并发并不影响后面交易的并发执行采用correlation技术实现压力对于“查询”操作验证检查结果是否正确。QALoad和LoadRunner所录的脚本不一致QALoad所录脚本并发,交易都成功,但报400及500错误第113页,共171页,2022年,5月20日,21点49分,星期四114案例测试经验交流一个打扫码信息处理系统:Winsock连接要考虑是否有必要做并发性能测试?还是需要做疲劳测试?默认的分析中thinktime时间没有去掉加压前系统的性能指
48、标应该关注,否则没有参考依据,例如CPU、内存、Disk I/O等。指标Disk Time在磁盘阵列时失效,其值大于100,应注意监控“idle time”指标。第114页,共171页,2022年,5月20日,21点49分,星期四115案例测试经验交流一个工作流系统的选型测试:测试数据的准备集群的验证第115页,共171页,2022年,5月20日,21点49分,星期四116案例测试经验交流一个税务测试:1. 关闭视图降低系统的交易平均响应时间;2. 并发测试过程中,当大规模并发时候,出现服务器拒绝连接的情况,connection refused(10061),被测试系统为WEBLOGIC应用服
49、务器,调整weblogic配置参数backlog的值,可以克服该问题;3. 索引使用不当;4. 代理的吞吐能力影响并发用户数第116页,共171页,2022年,5月20日,21点49分,星期四117案例测试经验交流一个IC卡处理系统:中间件客户端连接数队列阻塞问题数据库优化选项问题负载均衡问题第117页,共171页,2022年,5月20日,21点49分,星期四118案例测试经验交流工具不能支持的被测对象:Oracle FormSMTPSSLNC第118页,共171页,2022年,5月20日,21点49分,星期四119案例测试经验交流负载压力性能指标的区别(CPU):LoadRunnerVmst
50、at命令Iostat命令Mpstat命令Top命令第119页,共171页,2022年,5月20日,21点49分,星期四120案例测试经验交流不同的工具监控性能指标(CPU):最大并发用户数最大连接数最大在线用户数最大注册用户数第120页,共171页,2022年,5月20日,21点49分,星期四121测试案例介绍并发性能测试几个应用实例 实例1:计费帐务系统V3.0 测试类型:并发、疲劳 系统运行模式:三层结构中间件TUXEDO、数据库服务器操作系统UNIX、数据库Oracle 监测的测试指标包括:交易处理性能、UNIX资源、TUXEDO资源 并发用户数:50 测试工具: 解决的问题:业务执行平
51、均响应时间在100秒左右,经过调优后,平均响应时间降为10秒 例图如下第121页,共171页,2022年,5月20日,21点49分,星期四122测试案例介绍销帐,并发用户数50,平均响应时间第122页,共171页,2022年,5月20日,21点49分,星期四123测试案例介绍实例2:加油IC卡试点工程核心软件V2.0 测试类型:并发 系统运行模式:发卡网点子系统采用三层结构的运行模 式,零管子系统采用C/S运行模式。中间件TUXEDO、数据库服务器操作系统UNIX、数据库Sybase 监测的测试指标包括:交易处理性能、UNIX资源、TUXEDO资源 并发用户数:销售信息查询100,单用户卡充值
52、170 测试工具:QALoad、 LoadRunner第123页,共171页,2022年,5月20日,21点49分,星期四124测试案例介绍实例2:加油IC卡试点工程核心软件V2.0 (续) 解决的问题:销售信息查询,当记录条数达到1000000时,系统在15分钟内无任何响应 。经分析确定为系统数据库的架构存在问题。 例图如下:第124页,共171页,2022年,5月20日,21点49分,星期四125测试案例介绍1100用户 250用户 330用户 420用户 510用户 第125页,共171页,2022年,5月20日,21点49分,星期四126测试案例介绍实例3:高速公路联网收费系统V1.1
53、 测试类型:并发、疲劳系统运行模式: 该软件为C/S结构,数据库Informix7.3 ,中间件(自行开发)Winsock,各级服务器均为IBM系列服务器监测的测试指标包括: UNIX资源并发用户数:100测试工具:QALoad、 LoadRunner解决的问题:CPU占用率基本保持在65,在并发用户数为100,交易数为100的情况下达到82%,最大值达到90以上。可见CPU占用率将来有可能会成为系统瓶颈疲劳测试丢失数据763条,中间件的稳定性有待进一步提高 例图如下:第126页,共171页,2022年,5月20日,21点49分,星期四127测试案例介绍0309100_05F:虚拟用户数100
54、 0309100_060:虚拟用户数100309100_061:虚拟用户数30 0309100_062:虚拟用户数50图:入口车道往结算中心上传交易响应时间分布图第127页,共171页,2022年,5月20日,21点49分,星期四128测试案例介绍实例4:多媒体数据库 V1.0 测试类型:并发、疲劳系统运行模式:B/S运行模式,三层结构,web服务器为Apache,后台各服务器操作系统为UNIX或者Linux,数据库为Oracle监测的测试指标包括: UNIX(Linux)、Oracle以及Apache资源并发用户数:200测试工具:QALoad、 LoadRunner解决的问题:当并发用户数
55、超过200时,监控到HTTP 500、connect以及超时错误,且web服务器报内存溢出错误,系统应进一步提高性能,以支持更大并发用户数。 例图如下: 第128页,共171页,2022年,5月20日,21点49分,星期四129测试案例介绍第129页,共171页,2022年,5月20日,21点49分,星期四130测试案例介绍实例5:业务流程管理平台V1.0 测试类型:并发、疲劳系统运行模式:B/S运行模式,三层结构,web服务器为WebSphere ,后台各服务器操作系统为Windows2000 Server ,数据库为DB2监测的测试指标包括:数据库服务器、应用服务器、Web服务器的netw
56、ork interface、Windows2000 Server performance、数据库DB2、WebSphere等资源并发用户数:500测试工具:QALoad、 LoadRunner解决的问题:并发用户数为500时的系统交易响应时间在不可接受的范围内,数据库服务器的资源占用预计会成为系统运行瓶颈。 例图如下: 第130页,共171页,2022年,5月20日,21点49分,星期四131测试案例介绍1.业务:wokflow,总并发用户数:100; 2. 业务:wokflow,总并发用户数:300;3. 业务:wokflow,总并发用户数:500; 4. 业务:homepage,总并发用户
57、数:100;5. 业务:homepage,总并发用户数:300; 6. 业务:homepage,总并发用户数:500;7. 业务:mail,总并发用户数:100; 8. 业务:mail,总并发用户数:300;9. 业务:mail,总并发用户数:500; 10. 业务:mailsend,总并发用户数:100;11. 业务:mailsend,总并发用户数:300; 12. 业务:mailsend,总并发用户数:500第131页,共171页,2022年,5月20日,21点49分,星期四132测试工具上机实习负载压力测试工具:LoadRunner7.8上机实习内容:BSCS自己开发测试脚本资源监控第1
58、32页,共171页,2022年,5月20日,21点49分,星期四133测试工具的使用技巧面向目标的测试方案参数池技术 将事务插入到Vuser脚本 将集合点插入到Vuser脚本 动态数据关联 IP数据池 Web站点经验点滴 脚本调试技术 测试工具配置技巧 加载GUI脚本Oracle故障诊断特殊的测试类型第133页,共171页,2022年,5月20日,21点49分,星期四134面向目标的测试方案虚拟IP数据池用户目标类型 每秒点击次数、每分钟页面数或每秒事务数 事务响应时间目标类型 第134页,共171页,2022年,5月20日,21点49分,星期四135参数池技术(1)第135页,共171页,2
59、022年,5月20日,21点49分,星期四136参数池技术(2)第136页,共171页,2022年,5月20日,21点49分,星期四137Manual Correlation 提问:系统的输出值需要为后续操作提供输入:系统产生的SessionID;每次访问Web页面的动态URL;表单提交期间录制的Field(有时会隐藏)这些值只对当前会话有效。解决办法:从一个操作步骤中扑捉输出值该值用于另一个步骤的输入第137页,共171页,2022年,5月20日,21点49分,星期四138Manual Correlation这里我们提供几种关联数据的方法:手工关联录制结束后自动关联录制过程中自动关联第138
60、页,共171页,2022年,5月20日,21点49分,星期四139Manual Correlation在Vuser脚本中关联动态数据步骤:确定需要扑捉的值找到所扑捉值的左右边界标识符决定应该使用哪个边界将函数web_reg_save_param加入脚本在函数中加入参数名称、左边界标识符、右边界标识符以及函数事件在每次脚本运行时参数化动态数据校验执行结果第139页,共171页,2022年,5月20日,21点49分,星期四140IP数据池运行负载生成器上的“IP 向导”添加指定数量的IP 地址。为UNIX 负载生成器计算机手动配置新的IP 地址。重新启动计算机。如有必要,用新地址来更新服务器的路由
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 村委代签补偿协议书范本
- 文化创意产业基地空地租赁与项目合作开发协议
- 申请商标签协议书范本
- 充电桩充电服务及能源供应合同
- 精细化仓储配送与供应链管理合同
- 茶园土地租赁与茶叶种植技术输出合同
- 知名快餐品牌区域代理权及店铺转让合同范本
- 产科医院护士标准聘用合同及母婴护理
- 餐饮品牌股权投资与转让合同
- 企业常年财务顾问与风险控制协议
- 养老护理员中级考试试题含答案
- 附件四维性格测试表你的颜色
- 羽毛球社团活动教案记录表
- 《宝葫芦的秘密》作业设计
- 中式面点技师、高级技师理论参考的试题(完整版)实用资料
- 全国社保行政区域划分代码
- GB/T 32892-2016光伏发电系统模型及参数测试规程
- 抹灰施工工艺培训课件
- 部编人教版六年级下册语文 第六单元素养提升卷 优质试题课件
- 集团公司落实子企业董事会职权工作方案
- 教程5.13g加密所属
评论
0/150
提交评论