《高级性能测试经典学习文档优秀PPT.ppt》由会员分享,可在线阅读,更多相关《高级性能测试经典学习文档优秀PPT.ppt(171页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、高级性能测试经典学高级性能测试经典学习文档习文档第一页,本课件共有171页2课程内容介绍课程内容介绍 4测试策略制定测试策略制定4测试结果指标分析测试结果指标分析4测试典型案例分析测试典型案例分析 4测试技术讨论测试技术讨论4测试工具的使用技巧测试工具的使用技巧第二页,本课件共有171页3测试策略制定测试策略制定2概念概念2测试计划测试计划2测试流程包括哪些步骤测试流程包括哪些步骤2测试要达到什么目的测试要达到什么目的2选择什么协议进行测试选择什么协议进行测试2如何编写一个完整的测试方案如何编写一个完整的测试方案 2测试指标包括哪些内容测试指标包括哪些内容2自动化负载压力测试策略自动化负载压力
2、测试策略第三页,本课件共有171页4测试结果指标分析测试结果指标分析4客户端负载压力指标客户端负载压力指标 4服务器资源使用指标服务器资源使用指标4网络监控指标网络监控指标第四页,本课件共有171页5测试典型案例分析测试典型案例分析4系统故障定位与分析系统故障定位与分析4数据库服务器典型性能调优与评估数据库服务器典型性能调优与评估4Oracle数据库性能调优数据库性能调优4案例测试经验交流案例测试经验交流第五页,本课件共有171页6测试工具的使用技巧测试工具的使用技巧2负载压力测试工具:负载压力测试工具:LoadRunner8.02功能回归测试工具:功能回归测试工具:WinRunner7.62
3、测试管理工具:测试管理工具:TestDirector8.0第六页,本课件共有171页7性能测试性能测试 系统的性能是一个很大的概念,覆盖面非常系统的性能是一个很大的概念,覆盖面非常广泛,对一个软件系统而言包括执行效率、资广泛,对一个软件系统而言包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、源占用、稳定性、安全性、兼容性、可扩展性、可靠性等等,我们这里重点讨论的可靠性等等,我们这里重点讨论的负载压力负载压力是是系统性能的一个重要方面。系统性能的一个重要方面。性能测试用来保证产品发布后系统的性能满性能测试用来保证产品发布后系统的性能满足用户需求。性能测试在软件质量保证中起重足用户需求。
4、性能测试在软件质量保证中起重要作用。要作用。第七页,本课件共有171页8负载测试负载测试负载测试是确定在各种工作负载下系统的性能,负载测试是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、的相应输出项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统的性能,例如负载、内存使用等如何决定系统的性能,例如稳定性和响应等。稳定性和响应等。负载测试通常描述一种特定类型的压力测试,负载测试通常描述一种特定类型的压力测试,即增加用户数量以对应用程序进行压力测试。即增加用户数量以对应用程序进行压力测试
5、。第八页,本课件共有171页9压力测试压力测试 压力测试通过确定一个系统的瓶颈或者不能压力测试通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大的服接收的性能点,来获得系统能提供的最大的服务级别的测试。通俗地讲,压力测试是为了发务级别的测试。通俗地讲,压力测试是为了发现在什么条件下您的应用程序的性能会变得不现在什么条件下您的应用程序的性能会变得不可接受。可接受。第九页,本课件共有171页10负载压力测试负载压力测试负载压力测试是性能测试的重要组成部分,负负载压力测试是性能测试的重要组成部分,负载压力测试包括:载压力测试包括:4并发性能测试(重点)并发性能测试(重点)4疲劳强度测
6、试疲劳强度测试4大数据量测试大数据量测试 第十页,本课件共有171页11负载压力测试负载压力测试第十一页,本课件共有171页12负载压力测试负载压力测试4并发性能测试并发性能测试 考察客户端应用的性能,测试的入口是客户端考察客户端应用的性能,测试的入口是客户端并发性能测试的过程,是一个负载测试和压力测试的过程。并发性能测试的过程,是一个负载测试和压力测试的过程。即逐渐增加并发虚拟用户数负载,直到系统的瓶颈或者不即逐渐增加并发虚拟用户数负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标、资源监控能接收的性能点,通过综合分析交易执行指标、资源监控指标等来确定系统并发性能的过程。并发
7、性能测试是负载指标等来确定系统并发性能的过程。并发性能测试是负载压力测试中的重要内容。压力测试中的重要内容。第十二页,本课件共有171页13负载压力测试负载压力测试4疲劳强度测试疲劳强度测试 通常是采用系统稳定运行情况下能够支持的最大并发用户数或通常是采用系统稳定运行情况下能够支持的最大并发用户数或 者日常运行用户数,持续执行一段时间业务,通过综合分析交易执者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。疲劳强度测试案例制定的原则是保证系统长期不间断运行的疲劳强度测
8、试案例制定的原则是保证系统长期不间断运行的业务量,并且应该尽量去满足该条件。业务量,并且应该尽量去满足该条件。第十三页,本课件共有171页14负载压力测试负载压力测试4大数据量测试大数据量测试 2大数据量测试的两种类型大数据量测试的两种类型 4独立的数据量测试独立的数据量测试 针对某些系统存储、传输、统计、查询等业务进行大针对某些系统存储、传输、统计、查询等业务进行大 数据量测试数据量测试 4综合数据量测试综合数据量测试 和压力性能测试、负载性能测试、并发性能测试、疲劳性能测和压力性能测试、负载性能测试、并发性能测试、疲劳性能测试相结合的综合测试方案试相结合的综合测试方案 第十四页,本课件共有
9、171页15测试计划测试计划 4分析应用程序分析应用程序 4定义测试目标定义测试目标 4计划方案实施计划方案实施4检查测试目标检查测试目标 第十五页,本课件共有171页16制定测试计划的目的制定测试计划的目的4构建能够精确地模拟您的工作环境的构建能够精确地模拟您的工作环境的测试方案。测试方案。4了解测试需要的资源。了解测试需要的资源。4以可度量的指标定义测试成功条件。以可度量的指标定义测试成功条件。第十六页,本课件共有171页17分析应用程序分析应用程序4确定系统组件确定系统组件4描述系统配置描述系统配置 4分析使用模型分析使用模型 4任务分布任务分布 第十七页,本课件共有171页18确定系统
10、组件确定系统组件客户机、网络、中间件和服务器客户机、网络、中间件和服务器 第十八页,本课件共有171页19描述系统配置描述系统配置4连接到系统的用户数连接到系统的用户数4应用程序客户端计算机的配置情况(硬件、内存、应用程序客户端计算机的配置情况(硬件、内存、操作系统、软件、开发工具等)操作系统、软件、开发工具等)4使用的数据库和使用的数据库和Web 服务器的类型(硬件、数据服务器的类型(硬件、数据库类型、操作系统、文件服务器等)库类型、操作系统、文件服务器等)4服务器与应用程序客户端之间的通信方式服务器与应用程序客户端之间的通信方式4前端客户端与后端服务器之间的中间件配置和应前端客户端与后端服
11、务器之间的中间件配置和应用程序服务器用程序服务器4可能影响响应时间的其他网络组件(调制解调可能影响响应时间的其他网络组件(调制解调器等)器等)第十九页,本课件共有171页20分析使用模型分析使用模型4考虑哪些用户使用系统考虑哪些用户使用系统4每种类型用户的数量每种类型用户的数量4每个用户的典型任务每个用户的典型任务 第二十页,本课件共有171页21任务分布任务分布4确定数据库活动峰值期的发生时间确定数据库活动峰值期的发生时间4负载峰值期间的典型活动负载峰值期间的典型活动 第二十一页,本课件共有171页22定义测试目标定义测试目标第二十二页,本课件共有171页23定义测试目标定义测试目标4以可度
12、量的指标制定目标以可度量的指标制定目标4确定测试的时间确定测试的时间 第二十三页,本课件共有171页24确定测试的时间确定测试的时间第二十四页,本课件共有171页25计划方案实施计划方案实施4定义性能度量的范围定义性能度量的范围4定义定义Vuser活动活动 4选择选择Vuser 4选择测试硬件和软件选择测试硬件和软件第二十五页,本课件共有171页26定义性能度量的范围定义性能度量的范围4度量应用程序中不同点的响应时间。度量应用程序中不同点的响应时间。4根据测试目标确定在哪里运行虚拟用户根据测试目标确定在哪里运行虚拟用户4运行哪些虚拟用户运行哪些虚拟用户第二十六页,本课件共有171页27应用程序
13、中不同点的响应时间应用程序中不同点的响应时间度量端到端的响应时间:度量端到端的响应时间:第二十七页,本课件共有171页28应用程序中不同点的响应时间应用程序中不同点的响应时间度量网络和服务器响应时间:度量网络和服务器响应时间:第二十八页,本课件共有171页29应用程序中不同点的响应时间应用程序中不同点的响应时间度量度量GUI 响应时间:响应时间:GUI 响应时间响应时间=端到端响应时间端到端响应时间-网络和服务器响应时间网络和服务器响应时间 第二十九页,本课件共有171页30应用程序中不同点的响应时间应用程序中不同点的响应时间度量服务器响应时间:度量服务器响应时间:第三十页,本课件共有171页
14、31应用程序中不同点的响应时间应用程序中不同点的响应时间度量中间件到服务器的响应时间:度量中间件到服务器的响应时间:第三十一页,本课件共有171页32选择选择Vuser第三十二页,本课件共有171页33选择测试硬件和软件选择测试硬件和软件硬件和软件应该具有强大的性能和硬件和软件应该具有强大的性能和足够快的运行速度,以模拟所需数足够快的运行速度,以模拟所需数量的虚拟用户量的虚拟用户。第三十三页,本课件共有171页34检查测试目标检查测试目标度量最终用户响应时间度量最终用户响应时间 定义最优的硬件配置定义最优的硬件配置 检查可靠性检查可靠性 确定瓶颈确定瓶颈 度量系统容量度量系统容量 第三十四页,
15、本课件共有171页35定义最优的硬件配置举例定义最优的硬件配置举例例如,您可以设置三种不同的服务器配置,并针对例如,您可以设置三种不同的服务器配置,并针对各个配置运行相同的测试,以确定性能上的差异:各个配置运行相同的测试,以确定性能上的差异:.配置配置1:200MHz、64MB RAM.配置配置2:200MHz、128MB RAM.配置配置3:266MHz、128MB RAM第三十五页,本课件共有171页36检查可靠性检查可靠性举例举例确定系统在连续的高工作负载下的稳定性确定系统在连续的高工作负载下的稳定性级别。级别。强制系统在短时间内处理大量任务,以模拟系强制系统在短时间内处理大量任务,以模
16、拟系统在数周或数月的时间内通常会遇到的活动类统在数周或数月的时间内通常会遇到的活动类型。型。第三十六页,本课件共有171页37确定瓶颈确定瓶颈举例举例您可以运行测试以确定系统的瓶颈,并确定哪些因素导致性能下降,例如,文件锁定、您可以运行测试以确定系统的瓶颈,并确定哪些因素导致性能下降,例如,文件锁定、资源争用和网络过载。资源争用和网络过载。第三十七页,本课件共有171页38度量系统容量度量系统容量举例举例查看现有系统中性能与负载间的关系,并确定出现响应时间显著查看现有系统中性能与负载间的关系,并确定出现响应时间显著延长的位置延长的位置“拐点拐点”。可以确定是否需要增加资源以支持额外。可以确定是
17、否需要增加资源以支持额外的用户。的用户。第三十八页,本课件共有171页39测试流程步骤测试流程步骤2测试需求分析测试需求分析 2测试案例制定测试案例制定 2测试环境、工具、数据准备测试环境、工具、数据准备 2测试脚本录制、编写与调试测试脚本录制、编写与调试2负载压力场景制定负载压力场景制定 2测试执行测试执行 2结果分析与定位问题结果分析与定位问题 2测试报告与测试评估测试报告与测试评估 第三十九页,本课件共有171页40测试目的测试目的2在真实环境下检测系统性能,评估系统性在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况能以及服务等级的满足情况2预见系统负载压力承受力预见系统负载
18、压力承受力,在应用实际部在应用实际部署之前,评估系统性能署之前,评估系统性能 2帮助软件厂商或用户分析系统瓶颈、优化帮助软件厂商或用户分析系统瓶颈、优化系统系统 第四十页,本课件共有171页41测试目的测试目的实现目的的测试方法:实现目的的测试方法:性能检测 性能调优 第四十一页,本课件共有171页42性能检测4在真实生产环境下,检测系统性能,评估并报告整个系统的性能和健壮情况4检查服务等级的满足情况4对系统的未来容量作出预测和规划 第四十二页,本课件共有171页43性能调优4查找系统瓶颈的根本原因4评估性能调整的效果4在测试环境下再现性能问题 第四十三页,本课件共有171页44选择测试协议客
19、户端与直接压力承受的服务器之间的通讯协议是选择测试协议的唯一标准 第四十四页,本课件共有171页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 templates,Javascript 及及 VBscript.分布式组件分布式组件:COM/DCOM,Corba-Java,及及Rmi-Java.E-business:E-business:
20、FTP,LDAP,Palm,SOAP,Web(HTTP/HTML),及及the dual Web/Winsocket.Enterprise Java Beans:Enterprise Java Beans:EJB Testing及及Rmi-Java.Legacy:Legacy:Terminal Emulation(RTE).Mailing Mailing Services:Services:Internet Messaging(IMAP),MS Exchange(MAPI),POP3,及及SMTP.Middleware:Middleware:Jacada及及Tuxedo(6,7).Stream
21、ing:Streaming:MediaPlayer及及RealPlayer.Wireless:Wireless:i-Mode,VoiceXML,及及WAP第四十五页,本课件共有171页46编写一个完整的测试方案编写一个完整的测试方案 应用在客户端性能的测试应用在客户端性能的测试 应用在网络上性能的测试应用在网络上性能的测试 应用在服务器上性能的测试应用在服务器上性能的测试一个测试方案的例子一个测试方案的例子一个测试计划的例子一个测试计划的例子第四十六页,本课件共有171页47测试指标测试指标2 客户端交易处理性能指标客户端交易处理性能指标 2 服务器资源监控,例如:服务器资源监控,例如:UNI
22、X2 数据库资源监控,例如:数据库资源监控,例如:Oracle2 Web服务器监控,例如:服务器监控,例如:Apache2 中间件监控,例如:中间件监控,例如:TUXEDO等等等等第四十七页,本课件共有171页48自动化负载压力测试自动化负载压力测试利用或开发负载压力测试的利用或开发负载压力测试的自动化测试方法,包括:程序、工具、自动化测试方法,包括:程序、工具、流程等等。流程等等。第四十八页,本课件共有171页49自动化负载压力测试优势自动化负载压力测试优势自动化测试优势分析快速比手工操作绝对快可靠每一次运行精确地执行相同的操作,可以排除手工操作错误可重复测试相同操作重复执行时软件如何响应可
23、编程的可以编程实现得到应用系统隐藏信息的复杂测试综合测试可以实现覆盖应用系统每个特征的一套综合测试方案可重用的针对应用系统的不同版本,测试脚本可重复使用,即使用户界面发生变化第四十九页,本课件共有171页50选择自动化负载压力测试方法选择自动化负载压力测试方法4利用自动化负载压力测试工具4 开放资源(OpenSource)测试4 自主开发代码测试 第五十页,本课件共有171页51自动化负载压力测试概念通过在一台或几台通过在一台或几台PC机上模拟成百或上千的虚拟用户同时机上模拟成百或上千的虚拟用户同时执行业务的情景,对应用程序进行测试,通过可重复的、执行业务的情景,对应用程序进行测试,通过可重复
24、的、真实的测试能够彻底地度量应用的性能,确定问题所在。真实的测试能够彻底地度量应用的性能,确定问题所在。工程项目实践证明工程项目实践证明,其测试结果与实际情况完全符合。其测试结果与实际情况完全符合。第五十一页,本课件共有171页52自动化负载压力测试实现机制自动负载测试自动负载测试第五十二页,本课件共有171页53自动化负载压力测试工具2LoadRunner美国Mercury Interactive公司2QALoad美国Compuware(康博)公司2Rational Robot 美国IBM公司2SILK PERFORMER V 美国Segue 公司2Benchmark Factory美国Qu
25、est软件公司2WAS美国Mcrosoft 公司第五十三页,本课件共有171页54自动化负载压力测试工具自动化负载压力测试工具对比自动化负载压力测试工具对比第五十四页,本课件共有171页55自动化负载压力测试工具选择依据2模拟您的客户机模拟您的客户机2运行多个模拟的客户机运行多个模拟的客户机 2脚本化执行并能编辑脚本脚本化执行并能编辑脚本 2支持会话支持会话 2可配置的用户数量可配置的用户数量 2报告成功、错误和失败报告成功、错误和失败 第五十五页,本课件共有171页56自动化负载压力测试工具缺陷4缺乏功能点的校验缺乏功能点的校验4对有些控件支持得不好对有些控件支持得不好4不能达到真实模拟负载
26、不能达到真实模拟负载4脚本的支持不够灵活脚本的支持不够灵活4报错定位不够详细报错定位不够详细第五十六页,本课件共有171页57自动化负载压力测试工具盲点在负载测试中,不进行功能校验,就是当功能错误发生时,在负载测试中,不进行功能校验,就是当功能错误发生时,测试工具不能够记录产生的功能性错误,这就忽略了负载测试工具不能够记录产生的功能性错误,这就忽略了负载压力情况下的功能不稳定问题。压力情况下的功能不稳定问题。在负载压力测试过程中记录所有虚拟用户的操作及服务器的响在负载压力测试过程中记录所有虚拟用户的操作及服务器的响应是当前负载压力测试技术发展的最大挑战。应是当前负载压力测试技术发展的最大挑战。
27、但测试过程中的附加记录会导致资源消耗、操作行为增加以但测试过程中的附加记录会导致资源消耗、操作行为增加以及产生大量日志等问题。及产生大量日志等问题。第五十七页,本课件共有171页58开放资源(开放资源(OpenSource)测试)测试4 开放系统测试体系OpenSTA http:/portal.opensta.org/)4 TestMaker(http:/ Apache JMeter(http:/jakarta.apache.org/jmeter/)第五十八页,本课件共有171页59开发测试工具举例开发测试工具举例Web服务器通用性能测试系统的设计与实现服务器通用性能测试系统的设计与实现实际系
28、统由四部分组成:实际系统由四部分组成:2模板文件模板文件2数据文件数据文件2性能测试程序性能测试程序2结果处理程序结果处理程序第五十九页,本课件共有171页60开发测试工具举例开发测试工具举例系统结构示意图系统结构示意图第六十页,本课件共有171页61开发测试工具举例开发测试工具举例主流程图主流程图第六十一页,本课件共有171页62开发测试工具举例开发测试工具举例通用应用系统性能评测环境设计通用应用系统性能评测环境设计第六十二页,本课件共有171页63开发测试工具举例开发测试工具举例通用应用系统性能评测环境设计通用应用系统性能评测环境设计第六十三页,本课件共有171页64开发测试工具举例开发测
29、试工具举例通用应用系统性能评测环境设计通用应用系统性能评测环境设计接口名称功能接口函数原型(C语言描述)事务处理逻辑类型此接口提供应用系统相关的事务类型ID,通常情况下应用系统由多种事务组成,评测系统应该能够区分它们Int Perf_GetTransactionID(void);接口初始化初始化应用系统。诸如创建数据库连接等操作在此接口中进行int Perf_InitLib(void);执行事务处理实际事务处理接口,事务执行的起止时间和执行状态在此记录int Perf_DoTransaction(void*pBuffer,int nBufferSize);接口资源释放释放应用系统资源。诸如关闭
30、数据库连接等操作在此函数int Perf_FreeLib(void);第六十四页,本课件共有171页65开发测试工具举例开发测试工具举例通用应用系统性能评测环境设计通用应用系统性能评测环境设计操作系统开发环境Win32(WindowsNT4/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第六十五页,本课件共有171页66测试结果指标分析测试结果指标分析4客户端负载压力指标客户端负载压力指标为了完成一个任务,用户对应用程序执行的一组
31、操作,例如登陆一个为了完成一个任务,用户对应用程序执行的一组操作,例如登陆一个Web站点、站点、搜索一个飞机票信息、在网上买一本书等等。搜索一个飞机票信息、在网上买一本书等等。2虚拟并发用户数(虚拟并发用户数(Total Virtual Users)2交易响应时间(交易响应时间(Response Time)2每分钟交易数(每分钟交易数(Trans Rate)2吞吐量图吞吐量图(ThroughOut)第六十六页,本课件共有171页67测试结果指标分析测试结果指标分析4客户端负载压力指标客户端负载压力指标-交易处理指标交易处理指标2.平均事务响应时间图平均事务响应时间图2.每秒事务数图每秒事务数图
32、2.每秒事务总数每秒事务总数2.事务摘要图事务摘要图2.事务性能摘要图事务性能摘要图2.事务响应时间(负载下)图事务响应时间(负载下)图2.事务响应时间(百分比)图事务响应时间(百分比)图2.事务响应时间(分布)图事务响应时间(分布)图第六十七页,本课件共有171页68测试结果指标分析测试结果指标分析4客户端负载压力指标客户端负载压力指标-Web请求指标请求指标4.每秒点击次数图每秒点击次数图4.点击次数摘要图点击次数摘要图4.吞吐量图吞吐量图4.吞吐量摘要图吞吐量摘要图4.HTTP 状态代码摘要图状态代码摘要图4.每秒每秒HTTP 响应数图响应数图4.每秒下载页面数图每秒下载页面数图4.每秒
33、重试次数图每秒重试次数图4.重试次数摘要图重试次数摘要图4.连接数图连接数图4.每秒连接数图每秒连接数图4.每秒每秒SSL 连接数图连接数图第六十八页,本课件共有171页69测试结果指标分析测试结果指标分析4客户端负载压力指标客户端负载压力指标-Web页面组件指标页面组件指标2.激活网页细分图激活网页细分图2.页面组件细分图页面组件细分图2.页面组件细分(随时间变化)图页面组件细分(随时间变化)图2.页面下载时间细分图页面下载时间细分图2.页面下载时间细分(随时间变化)图页面下载时间细分(随时间变化)图2.第一次缓冲细分时间图第一次缓冲细分时间图2.第一次缓冲时间细分(随时间变化)图第一次缓冲
34、时间细分(随时间变化)图2.已下载组件大小图已下载组件大小图第六十九页,本课件共有171页70测试结果指标分析测试结果指标分析服务器资源使用指标服务器资源使用指标-UNIX第七十页,本课件共有171页71测试结果指标分析测试结果指标分析服务器资源使用指标服务器资源使用指标-Windows2000 Server第七十一页,本课件共有171页72测试结果指标分析测试结果指标分析服务器资源使用指标服务器资源使用指标-Windows2000 Server(续续)第七十二页,本课件共有171页73测试结果指标分析测试结果指标分析服务器资源使用指标服务器资源使用指标-Windows2000 Server(
35、续续)看一个例子第七十三页,本课件共有171页74测试结果指标分析测试结果指标分析服务器资源使用指标服务器资源使用指标-数据库数据库SQLServer第七十四页,本课件共有171页75测试结果指标分析测试结果指标分析服务器资源使用指标服务器资源使用指标-中间件中间件Tuxedo第七十五页,本课件共有171页76测试结果指标分析测试结果指标分析网络监控指标:网络监控指标:2吞吐量吞吐量2容量容量(信道容量或带宽信道容量或带宽)2利用率利用率2最优利用率最优利用率2可提供负载可提供负载2有效率有效率2延迟延迟2延迟变化量延迟变化量2响应时间响应时间第七十六页,本课件共有171页77测试典型案例分析
36、测试典型案例分析系统故障定位与分析系统故障定位与分析最难的问题最难的问题第七十七页,本课件共有171页78系统瓶颈分析举例系统瓶颈分析举例经验举例经验举例1交易的响应时间如果很长,远远超过系统性能需求,表示如果很长,远远超过系统性能需求,表示耗费耗费CPU的数据库操作,例如排序,执行的数据库操作,例如排序,执行aggregate functions(例如(例如sum、min、max、count)等较)等较多,可考虑是否有索引以及索引建立的是否合理;尽量使多,可考虑是否有索引以及索引建立的是否合理;尽量使用简单的表联接;水平分割大表格等方法来降低该值。用简单的表联接;水平分割大表格等方法来降低该
37、值。第七十八页,本课件共有171页79系统瓶颈分析举例系统瓶颈分析举例经验举例经验举例2分段排除错误。测试工具可以模拟不同的虚拟分段排除错误。测试工具可以模拟不同的虚拟用户来单独访问用户来单独访问Web服务器、应用服务器和数服务器、应用服务器和数据库服务器,这样,就可以在据库服务器,这样,就可以在Web端测出的响端测出的响应时间减去以上各个分段测出的时间就可以知应时间减去以上各个分段测出的时间就可以知道瓶颈在哪并着手调优。道瓶颈在哪并着手调优。第七十九页,本课件共有171页80系统瓶颈分析举例系统瓶颈分析举例经验举例经验举例3UNIX资源监控(资源监控(NT操作系统同理)中指标操作系统同理)中
38、指标内存页交换速率(Paging rate),如果该值偶),如果该值偶尔走高,表明当时有线程竞争内存。如果持续尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。也可能是内存访问很高,则内存可能是瓶颈。也可能是内存访问命中率低。命中率低。“Swap in rate”和和“Swap out rate”也有类似的解释。也有类似的解释。第八十页,本课件共有171页81系统瓶颈分析举例系统瓶颈分析举例经验举例经验举例4UNIX资源监控(资源监控(NT操作系统同理)中指标操作系统同理)中指标CPU占用率(CPU utilization),如果该值),如果该值持续超过持续超过95%,表明瓶颈是
39、,表明瓶颈是CPU。可以考虑。可以考虑增加一个处理器或换一个更快的处理器增加一个处理器或换一个更快的处理器。合理。合理使用的范围在使用的范围在60%至至70%。第八十一页,本课件共有171页82系统瓶颈分析举例系统瓶颈分析举例经验举例经验举例5UNIX资源监控(资源监控(NT操作系统同理)中指标操作系统同理)中指标磁盘交换率(Disk rate),如果该参数值一直),如果该参数值一直很高,表明很高,表明I/O有问题。可考虑更换更快的硬有问题。可考虑更换更快的硬盘系统、重新部署业务逻辑等,另外设置盘系统、重新部署业务逻辑等,另外设置Tempdb in RAM,减低,减低max async IO,
40、max lazy writer IO等措施都会等措施都会降低该值。降低该值。第八十二页,本课件共有171页83系统瓶颈分析举例系统瓶颈分析举例经验举例经验举例6Tuxedo资源监控中指标资源监控中指标队列中的字节数(Bytes on queue),队列长度应不超过磁),队列长度应不超过磁盘数的盘数的1.52倍。要提高性能,可增加磁盘。倍。要提高性能,可增加磁盘。注意:一个注意:一个Raid Disk实际有多个磁盘。实际有多个磁盘。第八十三页,本课件共有171页84系统瓶颈分析举例系统瓶颈分析举例经验举例经验举例7SQLServer资源监控中指标资源监控中指标缓存点击率(Cache Hit Ra
41、tio),该值越高越好。如果),该值越高越好。如果持续低于持续低于80%,应考虑增加内存。,应考虑增加内存。注意该参注意该参数值是从数值是从SQL Server启动后,就一直累加记启动后,就一直累加记数,所以运行经过一段时间后,该值将不能反数,所以运行经过一段时间后,该值将不能反映系统当前值。映系统当前值。第八十四页,本课件共有171页85优化调整设置 2CPU问题:4考虑使用更高级的考虑使用更高级的CPU代替目前代替目前的的CPU4对于多对于多CPU,考虑,考虑CPU之间的负之间的负载分配载分配4考虑在其它体系上设计系统,例如考虑在其它体系上设计系统,例如增加前置机、设置并行服务器等。增加前
42、置机、设置并行服务器等。第八十五页,本课件共有171页86优化调整设置 4内存和高速缓存内存的优化包括操作系统、数据库、应用程序的内存优内存的优化包括操作系统、数据库、应用程序的内存优化。化。2过多的分页与交换可能降低系统的性能过多的分页与交换可能降低系统的性能2内存分配也是影响系统性能的主要原因内存分配也是影响系统性能的主要原因2保证保留列表具有较大的邻接内存块保证保留列表具有较大的邻接内存块2调整数据块缓冲区大小(用数据块的个数表示)是一调整数据块缓冲区大小(用数据块的个数表示)是一个重要内容个重要内容2将最频繁使用的数据保存在存储区中将最频繁使用的数据保存在存储区中第八十六页,本课件共有
43、171页87优化调整设置 4磁盘(I/O)资源问题2磁盘读写进度对数据库系统是至关重要的,数据库对象在物理设备磁盘读写进度对数据库系统是至关重要的,数据库对象在物理设备上的合理分布能改善性能上的合理分布能改善性能2磁盘镜像会减慢磁盘写的速度磁盘镜像会减慢磁盘写的速度2通过把日志和数据库对象分布在独立的设备上可以提高系统的性能通过把日志和数据库对象分布在独立的设备上可以提高系统的性能2把不同的数据库放在不同的硬盘上,可以提高读写速度。经常把把不同的数据库放在不同的硬盘上,可以提高读写速度。经常把数据库、回滚段、日志放在不同的设备上数据库、回滚段、日志放在不同的设备上2把表放在一块硬盘上,把非簇的
44、索引放在另一块硬盘上,保证物把表放在一块硬盘上,把非簇的索引放在另一块硬盘上,保证物理读写更快理读写更快第八十七页,本课件共有171页88优化调整设置 4调整配置参数2包括操作系统和数据库的参数配置包括操作系统和数据库的参数配置2并行操作资源限制的参数(并发用户的数目、并行操作资源限制的参数(并发用户的数目、会话数)会话数)2影响资源开销的参数影响资源开销的参数2与与I/O有关的参数有关的参数第八十八页,本课件共有171页89优化调整设置 4优化应用系统网络设置2可以通过数组接口来减少网络呼叫。不是一次可以通过数组接口来减少网络呼叫。不是一次提取一行,而是在单个往来往返中提取提取一行,而是在单
45、个往来往返中提取10行,行,这样做效率较高这样做效率较高2调整会话数据单元的缓冲区大小调整会话数据单元的缓冲区大小2共享服务进程比专用服务进程提供较好的性能共享服务进程比专用服务进程提供较好的性能第八十九页,本课件共有171页90故障定位与分析 一个测试实例一个测试实例第九十页,本课件共有171页91测试典型案例分析测试典型案例分析 数据库服务器典型性能调优与评估数据库服务器典型性能调优与评估第九十一页,本课件共有171页92数据库服务器典型性能问题数据库服务器典型性能问题2数据库服务器性能问题及原因分析数据库服务器性能问题及原因分析 4单一类型事务响应时间过长单一类型事务响应时间过长 4数据
46、库服务器负载数据库服务器负载 4糟糕的数据库设计糟糕的数据库设计 4事务粒度过大事务粒度过大 4批任务对普通用户性能的影响批任务对普通用户性能的影响 4并发处理能力差并发处理能力差 4锁冲突严重锁冲突严重 4资源锁定造成的数据库事务超时资源锁定造成的数据库事务超时 4数据库死锁数据库死锁 第九十二页,本课件共有171页93数据库服务器典型性能问题数据库服务器典型性能问题数据库性能问题的一般解决办法数据库性能问题的一般解决办法 4监视性能相关数据;监视性能相关数据;4定位资源占用较大的事务并做出必要的优化或调整;定位资源占用较大的事务并做出必要的优化或调整;4定位锁冲突,修改锁冲突发生严重的应用
47、逻辑;定位锁冲突,修改锁冲突发生严重的应用逻辑;4对对规规模模较较大大的的数数据据或或者者无无法法通通过过一一般般优优化化解解决决的的锁锁冲冲突突进行分布。进行分布。第九十三页,本课件共有171页94Oracle与提高性能有关的特性与提高性能有关的特性 4索引索引4并行执行并行执行4簇与散列簇簇与散列簇4分区分区4多线程服务器多线程服务器4同时读取多块数据同时读取多块数据 第九十四页,本课件共有171页95Oracle配置的关键参数配置的关键参数 4MAX_DSPATCHERS:这这个个参参数数指指定定了了系系统统允允许许同同时时进进行行的的调调度度进进程的最大数量。程的最大数量。4MAX_S
48、HARED_SERVERS:这这个个参参数数指指定定了了系系统统允允许许同同时时进进行行的的共共享享服服务务器器进进程程的的最最大大数数量量。如如果果系系统统中中出出现现的的人人为为死死锁锁过过于于频频繁繁,那那么么管管理理员员应应该增大这个参数的值。该增大这个参数的值。4PARALLEL_ADAPTIVE_MULTI_USER:当当这这个个参参数数的的值值为为TRUE时时,系系统统将将启启动动一一个个能能提提高高使使用用并并行行执执行行的的多多用用户户系系统统性性能能的的自自适适应应算算法法。这这个个算法将根据查询开始时的系统负载自动降低查询请求的并行度。算法将根据查询开始时的系统负载自动降
49、低查询请求的并行度。第九十五页,本课件共有171页96Oracle配置的关键参数配置的关键参数 4PARLLEL_MIN_SERVERS:这这个个参参数数指指定定了了实实例例并并行行执执行行进进程程的的最最小小数数量。其值就是实例启动时量。其值就是实例启动时Oracle创建的并行执行进程数。创建的并行执行进程数。4PARLLEL_THREADS_PER_CPU:这这个个参参数数指指定定了了实实例例默默认认的的并并行行度度和和并并行行自自适适应应以以及及负负载载平平衡衡算算法法。它它指指明明了了并并行行执执行行过过程程中中一一个个CPU能处理的进程或线程数。能处理的进程或线程数。4PARTITI
50、ON_VIEW_ENABLED:这这个个参参数数指指定定了了优优化化器器是是否否使使用用分分区区视视图图。Oracle推推荐荐用用户户使使用用分分区区表表(这这是是在在Oracle8之之后后引引入入的的)而不是分区视图。分区视图只是为了提供而不是分区视图。分区视图只是为了提供Oracle的后向兼容性。的后向兼容性。4REVOVERY_PARALLELISM:这这个个参参数数指指定定了了恢恢复复数数据据库库系系统统时时使使用用的进程数。的进程数。第九十六页,本课件共有171页97Oracle的索引的索引 4索引和降低系统处理的数据量索引和降低系统处理的数据量 4索引和更新索引和更新 4在字段选择