您好,欢迎访问三七文档
压测示例接口性能测试报告1.概述1.1项目背景本次测试为一次探索性测试,目的是想通过对片单接口的通用业务的压力测试来了解大量用户并发访问片单接口对服务器相关性能指标及业务请求响应时间的影响,并且尽可能到找到影响这些要素的瓶颈。1.2适用对象此报告为项目经理、项目组开发人员、软件测试人员及其他与此项目相关的人员提供参考数据。1.3测试目标本次测试通过对压测示例接口进行压力测试,并监控其服务器的资源消耗情况,了解在高并发用户的压力请求下,服务器的业务处理能力和响应时间是否满足要求,服务器的资源性能指标是否存在瓶颈,是否影响用户和其他系统的使用(如系统能否及时处理所有的接口数据请求、内存是否存在泄露和不够、CPU是否高负载运行、接口请求的数据响应时间是否过长)。1.4术语定义术语名称术语解释虚拟并发数单位时间内同时利用性能测试工具进行请求的用户数量平均响应时间响应时间指的是从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,这个过程所耗费的时间。单位:秒。事务处理数单位时间内服务器处理的交易数量。吞吐量吞吐量指的是单位时间内处理的客户端请求的数量,通常情况下,吞吐量用请求数/秒或页面数/秒来衡量。每秒点击率平均每秒时间内客户端向服务器发送的界面请求数量。表1.4术语说明表1.5参考资料无2.测试环境2.1服务器软硬件环境服务器软硬件环境配置:127.0.0.1(web服务器)环境事项单项参数参数值说明硬件服务器型号DellInc.PowerEdgeR430J3F7DF2操作系统CentOSrelease6.8(Final)el6.x86_64CPU型号Intel(R)Xeon(R)CPUE5-2609v2@2.50GHz个数1核数(单个)4总核心数4主频(单个)2.50GHz内存容量(GB)16GB磁盘容量(TB)4001.6GB转速(转/秒)172.45MB/secsginfo-g/dev/sda查不到硬盘转数hdparm-t/dev/sda查看硬盘转速表2.1-1服务器软硬件配置信息说明表程序配置说明:服务域名/软件名称版本信息IP地址配置说明Kouling.ceshi.com1.0127.0.0.1mysql5.7127.0.0.1表2.1-2程序配置信息说明表2.2压力机软硬件环境设备用途设备型号操作系统软件/版本内存CPU硬盘负载机1ThinkServerRD540MicrosoftWindowsServer2008R2StandardLoadRunner/11.016GIntel(R)Xeon(R)CPUE5-2609v202.50GHz2TB*2表2.2压力机软硬件环境配置说明表2.3测试网络环境网络环境概述:测试的网络环境公司的内网测试环境。网络环境拓扑图:3.测试案例根据性能测试的选取原则,并结合片单接口的业务模型分析,共选择了典型的业务1个:用例编号用例名称脚本名称接口访问串样例QZ001口令预览hongbaokouling=1&optype={optype}&callback=testQZ002查看口令hongbaokouling=1&orderType=0&callback=testQZ003下一时段口令hongbaokouling=1&callback=testQZ004点击活动按钮hongbaokouling=1&userAccount={userAccount}&buttonno={buttonno}表3测试案例说明表4.测试场景测试机编号约定负载机编号:F1负载机IP:127.0.0.1场景编号格式约定直接压力机编号+用户数+日期+执行编号场景名称场景设计场景一负载机1:(F1_1000_20170509_001)在1台负载机上加压1000个用户场景运行策略:每秒起5个用户,持续运行2小时,结束时,每秒结束10个用户。LoadRunner事务设置:脚本设置每个接口分别为一个事务,设置虚拟用户为1000VusersLoadRunner集合点策略:未设置集合点LoadRunner思考时间策略:忽略思考时间LoadRunner参数化设置:已进行参数化设置资源监控设置:在应用服务器和数据库服务器上使用nmon监控服务器的系统资源消耗表4测试场景说明表5.测试工具工具名称版本说明LoadRunner11.0压力测试工具Nmonnmon_x86_64_centos6Linux系统资源监控工具nmonanalyser4.2Nmon的日志分析工具表5测试工具说明表6.测试策略本次压力测试的测试策略是使用Loadrunner结合典型的被测接口业务数据流,通过生成一定数量的虚拟用户负载,模拟真实在线用户访问接口获取数据的业务模型,测试业务场景的事务响应时间和相关服务器的资源消耗情况。测试过程中的测试脚本生成,主要是用Loadrunner录制生成。选择合适的通信协议(WebHTTP/HTML协议)和浏览器(FireFox)访问业务接口录制测试脚本,录制完成后分析测试脚本,优化脚本,去除不必要的内容,根据实际情况设置事务点、集合点和参数化。最后回放测试脚本,检查脚本是否有错误,从而得到一个可以执行的完整的测试脚本。测试程序中的数据参数化,主要根据业务接口访问的逻辑,选取被参数化的数据对象,以便更真实的模拟实际的业务场景,即不同用户访问不同的接口逻辑获取不同的业务数据,而不是单一的访问获取相同数据,具体的脚本中参数化的对象在测试场景中详细加以描述。测试中需要的测试数据(如参数化的数据来源),主要从实际生产环境中获取,以保证测试数据的真实有效,数据的大小和数量根据实际场景情况进行选取。由于本次测试使用成熟的性能测试工具Loadrunner进行测试,故简要介绍其测试流程:1.通过Loadrunner录制测试脚本和准备测试相关数据(参数化需要的数据源)。2.创建场景并对场景进行设置:设置用户加压方式、持续运行时长和执行完成后减压方式,设置集合点的释放策略、设置运行时设置(Rum-timesetting),添加系统资源计数器或者使用nmon在服务器上监控服务器资源。3.运行场景。4.场景运行完成后生成测试结果,结合测试结果及搜集的相关资源指标进行深度分析。7.测试结果7.1场景一结果1.分析概要:从分析概要中可以看出,场景并发用户数为1000个虚拟用户;平均每秒点击数572.419;总点击数4,297,720;2.事务概要:3.每秒请求数(HitsperSeconds):从图中可以看出,点击率平均为572;4.TotalTPS分析(TotalTransactionpersecond):图中可以看出,所有接口的平均每秒处理成功的事务数为572左右,确实与每秒请求数保持一致;5.TPS分析(Transactionpersecond):6.吞吐率分析(Throughtput):从吞吐率来看,平均每秒的吞吐为1.355MB再来看一下吞吐率和点击率的组合图:从图中可以看出两者的图线基本重合,说明服务器能正确处理客户端请求并返回结果。7.接口服务器资源使用分析:使用atop查看运行时系统服务器资源的使用情况刚开始运行时:运行一个小时后A)CPU从上图可以看出运行时cup占用在35%左右B)内存和磁盘从上图可以看出总内存为:15.5G,空闲内存=free+cache=2.3G左右,提示内存不足,SWP(交换空间)在内存不足的时候会使用,交换空间的剩余量在不断减小,当运行十几个小时的时候,交换空间会被占满;DSK磁盘也显示繁忙,a盘的使用率为63%;PAG虚拟内存分页情况出现问题,换出内存的页数远大于换入内存的页数,影响速度C)JAVA线程与JAVA进程通过pstree实时监控JAVA线程:pstree-ppid|wc-lD)NETWORK通过nmon监控30分钟:./nmon–f-t–s10–c500从图中可以看出,网络流量读达到2MB/s左右,写达到3MB/s左右,占用的网络带宽不高。E)TCP连接数通过netstat实时监控:whiletrue;donetstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}';echo******************************************;sleep1;done从图中可以看出,当前等待连接数约44765,当前已连接数约1166;等待数量太多,建议优化;8.结果分析与总结如下为对压测示例接口进行压力测试的概况:1、统计结果看出,在进行1000并发时,各类事务的响应时间已超过1秒,TotalTPS低于1000,不满足基本需求;2、从服务器资源占用方面考虑,1000并发时CPU占用约35%,network占用约5MB;满足满足基本需求;从上图可以看出总内存为:15.5G,空闲内存=free+cache=2.3G左右,提示内存不足,SWP(交换空间)在内存不足的时候会使用,交换空间的剩余量在不断减小,当运行十几个小时的时候,交换空间会被占满;DSK磁盘也显示繁忙,a盘的使用率为63%;PAG虚拟内存分页情况出现问题,换出内存的页数远大于换入内存的页数,影响速度3、通过TCP连接数可以看出,等待连接数目已达到4万9千以上,等待数较多,磁盘io平均时间为0.2ms;9.附件(一)LoadRunner中的一些术语的官方解释:WebResources中的PageDownTimeBreakdown(页面下载时间分解图)中各个时间定义如下:NameDescriptionDNSResolutionDisplaystheamountoftimeneededtoresolvetheDNSnametoanIPaddress,usingtheclosestDNSserver.TheDNSLookupmeasurementisagoodindicatorofproblemsinDNSresolution,orproblemswiththeDNSserver.ConnectionDisplaystheamountoftimeneededtoestablishaninitialconnectionwiththeWebserverhostingthespecifiedURL.Theconnectionmeasurementisagoodindicatorofproblemsalongthenetwork.Italsoindicateswhethertheserverisresponsivetorequests.FirstBufferDisplaystheamountoftimethatpassesfromtheinitialHTTPrequest(usuallyGET)untilthefirstbufferissuccessfullyreceivedbackfromtheWebserver.ThefirstbuffermeasurementisagoodindicatorofWebserverdelayaswellasnetworklatency.Note:Sincethebuffersizemaybeupto8K,thefirstbuffermightalsobethetimeittakestocompletelydownloadtheelement.SSLHandshakingDisplaystheamountoftimetakentoestablishanSSLconn
本文标题:性能测试报告
链接地址:https://www.777doc.com/doc-4456854 .html