




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
----------------------------精品word文档值得下载值得拥有--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------性能测试性能测试概念性能测试是为描述测试对象性能相关的特征,并对其进行评价而实施而执行的一类测试。它主要通过自动化的测试工具模拟多种正常、峰值以及异常条件来对系统的各项性能指标进行测试。通常把负载测试、压力测试、配置测试、并发测试、容量测试、可靠性测试和失败测试等统称为性能测试。性能测试是系统测试的一种。功能测试:某个功能点。性能测试:整个系统,包括软件和硬件。软件效率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。衡量一个软件的性能,需要从软件效率的以下3点考虑:①时间特性。在规定条件下,软件产品执行其功能时,提供适当的响应和处理时间以及吞吐量的能力。②资源利用性。在规定条件下,软件产品执行其功能时,使用合适数量和类别的资源能力。③效率依从性。软件产品遵循与效率相关的标准或约定的能力。性能测试的分类负载测试(LoadTesting)。负载测试是指在一定的软件、硬件及网络环境下,运行一种或多种业务,在不同虚拟用户数量的情况下,测试服务器的性能指标是否在用户的要求范围内,以此确定系统所能承载的最大用户数、最大有效用户数以及不同用户数下的系统响应时间及服务器的资源利用率。压力测试(StressTesting)。压力测试是指在一定的软件、硬件及网络环境下,模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下并长时间连续运行,以测试服务器在高负载情况下是否能稳定工作。与负载测试获得峰值性能数据不同,压力测试强调在极端情况下系统的稳定性。容量测试(VolumeTesting)。容量测试是指在一定的软件、硬件及网络环境下,数据库中构造不同数量级别的数据记录,运行一种或多种业务在一定虚拟用户数量的情况下,获取不同数量级别的服务器性能指标,以确定数据库的最佳容量和最大容量。容量测试不仅可以对数据库进行,还可以对硬件处理能力、各种服务器的连接能力等进行,一次来测试系统在不同容量级别下是否能达标指定的性能。容量测试和负载测试的区别在于,容量测试主要关心howmuch,而负载测试则同时强调howmuch和howfast。配置测试(ConfigurationTesting)。配置测试是指在不同的软件、硬件以及网络环境配置下,运行一种或多种业务,在一定的虚拟用户数量情况下,获得不同配置的性能指标,用于选择最佳的设备及参数配置。通过产生不同的配置,来得到系统性能的变化状况。基准测试(BenchmarkTesting)。基准测试是指在一定的软件、硬件及网络环境下,模拟一定数量的虚拟用户运行一种或多种业务,将测试结果作为基线数据,在系统调优或系统测评的过程中,通过运行相同的业务场景比较测试结果,确定调优的结果是否达到预期效果或者为系统的选择提供决策数据。基准测试一般基于配置测试,通过配置测试得到数据,并将这个数据作为基准来比较每次调优后的性能是否有所改善(EVERESTUltimate工具获取当前内存的读写速度)。并发测试(ConcurrencyTesting)。并发测试是指通过模拟多个用户并发访问同一个应用、存储过程或数据记录及其他并发操作,测试是否存在死锁、数据错误等故障。为了避免数据库或函数方法在并发下的错误,需要专门针对每个模块进行并发测试。理想情况下,性能测试应该在哪些阶段介入,见下图。编码阶段(压力/并发),编码-测试之间(容量测试),测试阶段(负载/配置/基准)。性能指标:①响应时间:响应时间反映完成某个业务所需要的时间。②吞吐量:吞吐量反映单位时间内能够处理的事务数目。③服务器资源占用:服务器资源占用反映在负载下系统的资源利用率。性能测试基本过程性能测试的基本过程如图所示。典型的性能测试过程性能测试需求分析:把客户的真正需求搞清楚,是性能测试最关键的过程。性能测试计划:在性能测试计划中,需要阐述产品、项目的背景,将前期的需要测试性能需求明确,并落实到文档中。指出性能测试可参考的文档,并将这些文档的作者、编写时间、获取途径逐一列出,形成一个表格,这些文档包括用户需求规格说明书、会议纪要(内部讨论、与客户讨论等最终确定的关于性能测试内容)等性能测试相关需求内容文档。系统性能测试的环境要尽量和客户上线的环境条件相似。性能测试用例:性能测试用例应结合用户应用系统的场景,设计出相应的性能测试用例,用例应能覆盖到测试需求。测试脚本编写:要着重强调几点,①协议的正确选用,②测试脚本不仅可以使用性能测试工具来完成,在必要的时候,可以使用其他语言编程完成同样的工作,③在应用工具录制或者编写脚本完成以后,还需要去除脚本不必要的冗余代码,对脚本进行完善,需要加入集合点、检查点、事务以及对一些数据进行参数化、关联等处理,④在编写测试脚本的时候,需要注意编码的规范和代码的编写质量问题,⑤将脚本纳入配置管理。测试场景设计:测试场景设计是以性能测试用例、测试脚本编写为基础的,脚本编写完成,需要在脚本中进行如下处理,如需要进行并发操作,则加入集合点;考察某一部分业务处理响应时间,则需要插入事务;为检查系统是否进行正确的执行相应功能而设置的检查点;输入不同的业务数据,则需要进行参数化。关于测试场景的设计要着重强调几点,①性能测试工具都是用进行或者线程来模拟多个虚拟用户,按进程运行每个虚拟用户,将会占用大量RAM,按线程运行每个虚拟用户,将共享父驱动进程的内存,②场景设计如果存在有执行次序依赖关系的脚本,在场景设计时不要弄错顺序,③场景的相关设置项也是需要关注的重要内容,以LoadRunner为例,如需要虚拟IP,需要选中菜单“EnableIPSpoofer”,如应用了集合点,需要单击菜单“Rendezvous..”进行集合点策略的设定,如需要多台负载机进行负载,需要单击“LoadGenerators…”进行负载机的连接测试。工具名称功能简介开源性能测试工具JmeterJmeter可以完成针对静态资源和动态资源(Servlets、Perl脚本、Java对象、数据查询、FTP服务等)的性能测试,可以模拟大量的服务器负载、网络负载、软件对象负载,通过不同的加载类型全面测试软件的性能、提供图形化的性能分析OpenSTAOpenSTA可以模拟大量的虚拟用户,结果分析包括虚拟用户响应时间、Web服务器的资源使用情况、数据库服务器的使用情况,可以准确地度量负载测试的结果DbMonsterDbMonster是一个生成随机数据,用来测试SQL数据库的压力测试工具TpTestTpTest提供测试Internet连接速度的简单方法商业性能测试工具MercuryLoadRunnerMecruryLoadRunner是一种预测系统行为和性能的工业级标准性能测试负载测试工具。通过模拟上千万用户实施并发负载及实时性能检测的方式来确认和查找问题,LoadRunner能够对整个架构进行测试。支持Web(HTTP/HTML)、WindowsSockets、FileTransferProtocol(FTP)、MediaPlayer(MMS)、ODBC、MSSQLServer等协议IBMRationalPerformanceTester适用于团队验证Web应用程序的可伸缩性的负载和性能测试工具,引入了新的技术进行负载测试的创建、修改、执行和结果分析免费性能测试工具MicrosoftApplicationCenterTest它可以对Web服务器进行强度测试,分析Web应用程序(包括ASPX页及其使用的组件)的性能和可伸缩性问题。通过打开多个服务器连接并迅速发送HTTP请求,ApplicationCenterTest可以模拟大量用户MicrosoftWebApplicationStressTool由微软公司的网站测试人员开发,专门用来进行实际网站压力测试的一套工具。可以以数种不同的方式建立测试指令:包含以手工、录制浏览器操作的步骤,或直接录入IIS的记录文件、录入网站的内容及录入其他测试程序的指令等方式测试场景运行:测试场景运行时关系到测试结果是否准确的一个重要过程。场景运行监控:关于场景的监控需要注意几点,①性能测试负载机可能有多少台,负载机的时钟要一致,保证在监控过程中的数据是同步的;②场景的运行监控也会给系统造成一定的负担,因为在操作过程中需要搜集大量的数据,且存储到数据库中,所以尽量搜集与系统测试目标相关的参数信息,无关内容不必进行监控;③通常,只有管理员才能够对系统的资源等进行监控;④运行场景的监控需要对要监控的数据指标有非常清楚的认识,同时还要对性能测试工具非常熟悉。运行结果分析:性能测试执行过程中,性能测试工具搜集相关性能测试数据,待执行完成后,这些数据会存储到数据表或者其他文件中。为了定位系统性能问题,需要系统学习这些性能测试结果。目前,广泛被大家应用的性能分析方法就是“拐点分析”。“拐点分析”方法是一种利用性能计数器曲线图上的拐点进行性能分析的方法。它的基本思想就是性能产生瓶颈的主要原因就是因为某个资源的使用达到了极限,此时表现为随着压力的增大,系统性能却出现急剧下降,这样就产生了“拐点”现象。当得到“拐点”附近的资源使用情况时,就能定位出系统的性能瓶颈。系统性能调优:在进行性能调整的时候,最好一次只调整一项内容或者一类内容,避免一次调整多项内容而引起性能提高却不知道是由于调整哪项关键指标而改善性能的。进行系统的调优过程中好的策略是按照由易到难的顺序对系统性能进行调优。系统调优由易到难的先后顺序如下:①硬件问题;②网络问题;③应用服务器、数据库等配置问题;④源代码、数据库脚本问题;⑤系统构架问题。很多情况下,系统性能不是十分理想的一个重要原因就是,没有对应用服务器、数据库等软件进行调优和设置引起的,如对tomcat系统调整堆内存和扩展内存的大小,数据库引入连接池技术等。但是由于涉及源代码的改变有可能会引入缺陷,所以在调优后,不仅需要性能测试,还要对功能进行验证,以验证是否正确。性能测试总结:性能测试总结不仅使我们能了解到如下内容:性能测试需求覆盖情况;性能测试过程中的问题;如何分析、调优、解决的;测试人员、进度控制与实际执行偏差;性能测试过程中遇到的各类问题是如何控制的。而且,还能描述经过该产品/项目性能测试后有哪些经验和教训等内容。通常一份性能测试总结报告需要阐述产品、项目的背景,将前期的性能测试需求明确,并落实到文档中。指出性能测试可参考的一些文档,并将这些文档的作者、编写时间、获取途径逐一列出,形成一个表格,这些文档包括:用户需求规格说明书、会议纪要(内部讨论、与客户讨论等最终确定的关于性能测试内容)等与性能测试相关的需求内容文档。Vuser类型所有协议(AllProtocols):所有可用的协议列表。应用程序员部署方案(ApplicationDeploymentSolution):适用于Citrix_ICA协议。客户端/服务器(Client/Server):适用于DB2CLI、DomainNameResolution(DNS)、Informix、MSSQLServer、ODBC、Oracle(2Tier)、SybaseCtlib、SybaseDblib和WindowsSockets协议。自定义(Custom):适用于CVuser、JavaVuser、JavaScriptVuser、VBScriptVuser和VisualBasicVuser类型的脚本。分布式组件(DistributedComponents):适用于COM/DCOM、CORBA-Java和Rmi-Java协议。电子商务(E-Business):适用于FileTransferProtocol(FTP)、ListingDirectoryService(LDAP)、Palm、Web(HTTP/HTML)、WebService和Web/WinsocketDualProtocol协议。企业级JavaBean(EnterpriseJavaBean):适用于EnterpriseJavaBeans(EJB)和Rmi-Java协议。ERP/CRM:适用于Bean、OracleApplications、OracleNCA、PeoplesolfEnterprise、Peoplesoft-Tuxedo、SAP-Web、SAPGUI、SAPGUI/SAP-WebDualProtocol、Siebel-DB2CLI、Siebel-MSSQL、Siebel-Oraclde和Siebel-Web协议。传统(Legacy):TerminalEmulation(RTE)协议。邮件服务(MailingServices):InternetMessaging(IMAP)、MSExchange(MAPI)、PostOfficeProtocol(POP3)和SimpleMailProtocol(SMTP)协议。中间件(Middleware):Jacada和Tuxedo6和Tuxedo7协议。流(Streaming):适用于MediaPlayer(MMS)和Real协议。无线(Wireless):适用于i-Mode、VoiceXML和WAP协议。实践之参数设置性能测试调节参数汇总:isp调整过:mom、console、in、out、router、nodeproxy调节内存关掉debug关掉info等的日志节点参数调整(节点管理节点管理节点参数列表)IN、OUT message_buffer_size1000 thread_pool_size500(参考并发用户数) esb.container.frame.poolsize500(参考并发用户数) esb.container.context.poolsize500(参考并发用户数) esb.container.timeout60000(in:60000out:55000)其他节点 message_buffer_size1000 thread_pool_size500(参考并发用户数)5、操作系统参数调整 找到/etc/sysctl.conf 注释掉该文件里的原有的所有参数,修改配置 最下面添加 net.ipv4.ip_local_port_range=102465000 net.ipv4.tcp_tw_recycle=1 net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_max_tw_buckets=30000 net.ipv4.tcp_syn_retries=3 net.ipv4.tcp_retries2=5 然后执行 sysctl-p 通过 sysctl-a查看这些参数是否被修改成功,不用重起应用,所有登陆的会话可以生效6.修改文件句柄数 编辑/etc/security/limits.conf文件: 添加以下行: *softnofile65535 *hardnofile65535 *softnproc65535 *hardnproc65535 nofile为最大打开文件数,nproc为用户可建最大线程数/进程数(nproc只对一般用户有效,root无限制) 修改/etc/security/limits.d/90-nproc.conf文件: *softnproc65535 保存后新开一个shell即生效 使用ulimit-a查看:maxnumberofprocesses(nproc) 用ulimit-a命令查看: corefilesize(blocks,-c)0 datasegsize(kbytes,-d)unlimited schedulingpriority(-e)0 filesize(blocks,-f)unlimited pendingsignals(-i)128574 maxlockedmemory(kbytes,-l)64 maxmemorysize(kbytes,-m)unlimited openfiles(-n)1024 pipesize(512bytes,-p)8 POSIXmessagequeues(bytes,-q)819200 real-timepriority(-r)0 stacksize(kbytes,-s)8192 cputime(seconds,-t)unlimited maxuserprocesses(-u)128574 virtualmemory(kbytes,-v)unlimited filelocks(-x)unlimitedLoadRunnerLoadRunner工具组成脚本生成器VirtualUserGeneratorVirtualUserGenerator简称VuGen,提供了基于录制的可视化图形开发环境,可以方便、简介地生成用于负载的性能脚本。压力调度和监控系统Controlller负责对整个负载的过程进行设置,指定负载负载的方式和周期,同时提供了系统监控的功能。压力生成器LoadGeneratorLoadGenerator简称LG,负责将VuGen脚本复制成大量虚拟用户对系统生成负载。结果分析工具Analysis通过Analysis可以对负载生成后的相关数据进行整理分析。性测试原理用户行为模拟不同用户使用不同的数据(LoadRunner通过“参数化”实现);多用户并发操作(LoadRunner通过“集合点”实现);用户请求间的依赖关系(LoadRunner通过“关联”实现);请求间的延时时间(LoadRunner通过“思考时间”实现)。性能指标监控请求响应时间监控(LoadRunner通过“事务”实现);服务器处理能力监控(LoadRunner通过“事务”计算吞吐量获得);服务器资源利用率监控(LoadRunner提供全面简洁的计数器接口)。性能调优 http捕获:HTTPWatch(监控录制所有http请求的插件),/http回放:IBMRationalHTTPRequestEditor用户行为模拟LodRunner11对于tree模式有了一定的功能加强,在该模式中提供了HTMLView和HTTPView两种模式。单协议(NewSingleProtocolScript):在单协议情况下,所要录制的对象只使用唯一的协议。多协议(NewMultipleProtocolScript):在需要录制的对象使用多于一种协议的情况下,应该选择多协议,并且将这些协议都进行添加,否则会因为漏选协议而无法回放脚本。VuGen用户行为模拟流程录制用户行为录制流程VuGen录制流程性能测试实践计划测试性能测试计划阶段流程分析系统:网络数据包拦截软件常见的有Wireshark、Omnipeek等。HttpWatch是一个基于浏览器的插件,可以帮助我们拦截HTTP的数据包;而这里的网络拦截工具是基于网卡的底层扫描的。定义测试目标:通过用户提供的数据进行分析,通过系统日志,通过参考同类业务,通过80/20原则。明确定义概念:编写性能测试计划,编写性能测试方案,编写性能测试用例***系统性能测试计划文档目的描述***性能测试流程、范围、环境、风险等因素作为性能测试依据。项目背景介绍术语及缩写输入《项目计划文档》《性能需求规格说明书》《系统架构设计文档》《系统测试计划》入口标准无系统运行环境网络拓扑图软硬件配置测试内容非测试内容角色和职责性能测试工具列表进度安排Project甘特图出口标准交付件风险假设性能测试计划***系统性能测试方案文档目的描述***性能测试目的、策略、测试用例、流程等因素作为性能测试依据。测试目的测试策略第一轮测试:第二轮测试:第三轮测试:第四轮测试:第五轮测试:业务抽取(测试脚本)需要进行测试的主要业务用户行为模型及性能指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025深圳公务员b卷试题及答案
- 2025广西公务员考试c类真题试题及答案
- 2025公务员考试高频题库及答案
- 电商供应链金融服务创新与风险管理研究2025年报告
- 家具行业设计师职业生涯规划与发展试题及答案
- 水资源优化配置下的2025年低碳城市规划案例研究
- 社会实践的幼儿园数学试题与答案
- 职场关键交流的试题及答案
- 网络热舞考试题及答案
- 新能源汽车行业改善措施与可行性研究试题及答案
- 2025山东烟台市蓬莱区城市建设投资集团有限公司招聘22人笔试参考题库附带答案详解
- 建筑劳务公司人事管理制度
- 应聘人员登记表
- 2024年山东省公共卫生临床中心招聘笔试真题
- 2025年全国二模日语试题及答案
- 眼科学考试试题题库
- 伤残鉴定 委托书
- 城乡农产品批发市场四股桥智慧农贸市场建设项目可行性研究报告写作模板-申批备案
- 物流专业人才需求状况调研报告
- 《儿童生长发育规律》课件
- 广西教师副高职称评定条件
评论
0/150
提交评论