您好,欢迎访问三七文档
接口性能测试报告Rev:A.1编制软件测试工程师***日期批准架构师***日期Page(2)of(18)目录1.概述...................................................................................................................31.1目的....................................................................................................................................31.2术语....................................................................................................................................31.3参考资料...........................................................................................................................3第1章需求分析..................................................................................错误!未定义书签。2.项目背景.................................................................................错误!未定义书签。2.1部署结构图............................................................................................错误!未定义书签。2.2系统架构图............................................................................................错误!未定义书签。3.测试资源............................................................................................................53.1测试环境................................................................................................................................53.2人力资源................................................................................................................................53.3测试工具................................................................................................错误!未定义书签。(1)Jemeter工具介绍....................................................................错误!未定义书签。(2)工作原理.....................................................................................错误!未定义书签。(4)Jmeter图表指标说明..............................................................错误!未定义书签。(3)JVM监控工具...........................................................................错误!未定义书签。(4)服务器资源监控工具................................................................错误!未定义书签。4.测试策略............................................................................................................64.1测试目标...........................................................................................错误!未定义书签。4.2测试方法...........................................................................................错误!未定义书签。4.3测试内容...........................................................................................错误!未定义书签。4.4缺陷处理规范...................................................................................错误!未定义书签。4.5测试产物...........................................................................................错误!未定义书签。5.测试计划.................................................................................错误!未定义书签。6.风险分析.........................................................................................................14Page(3)of(18)1概述1.1目的该文档详细描述压力测试过程、测试监控数据以及测试数据分析结论。1.2术语负载测试:通过测试工具不断增大压力,查看系统性能表现的一个测试过程。负载机:发送请求,生产测试压力的机器。1.3参考资料《》Page(4)of(18)2.测试需求2.1被测系统分析**是一个试点项目,**正在接入到**项目中来,通过**系统可以直接进入到**平台。后续用户量会随着**系统用户的接入逐渐增大。11月**系统会展示到互联网大会上0,预计互联网大会访问量会到达一万以上,这么大的用户访问量必然对我们的系统造成很大的考验。当前**部署在一台2核4G的阿里云服务器上,在这样低的性能机器上系统能处理很大的并发是不可能的。目前系统注册和使用用户非常少,并不会对系统造成威胁。但是系统的处理效率、容量和稳定性未经过验证,还不确定系统在单服务器的效率、容量和稳定性。2.2测试通过标准通过指标错误率5%响应时间5sCPU75%内存75%Page(5)of(18)3.测试前置操作3.1测试环境首先测试服务器有限,没有独立的服务器供压测使用。其次**线上用户量非常少,压测非订单业务接口不影响生产环境的运行,所以选择合适的时间在生产环境下直接压测。系统的api接口、dubbo服务和mysql服务器都在同一台服务器,配置都是默认的,没有经过优化。性能测试环境jdk版本jdk1.8部署容器apache-tomcat-8测试工具Jmeter3.2Jmeter负载服务器4核8GCentOS64位4台mysql数据库服务器4核8GCentOS64位1台Web应用服务器与数据库服务器共用3.2测试脚本如下附件:3.3基础数据没有历史数据可以参考,不需要构造基础数据,直接使用生产环境已有的数据。Page(6)of(18)3.4人力资源测试1人、后台服务开发1人。序号角色人数职责1性能测试工程师1性能测试方案性能测试脚本性能执行测试和分析性能测试报告2后台服务开发工程师1协查性能测试过程问题协助分析性能测试结果3.5负载场景配置3.6测试监控(1)应用服务器监控:使用linux自带的top、vmstat命令监控服务器资源(2)Tomcat的JVM监控:使用jdk自带的jmap、jstat查看内存、线程、类的情况。(3)数据库监控:没有做监控。后续可以增加慢查询的跟踪。(4)负载机监控:使用linux自带的top、vmstat命令监控服务器资源设置ThinkTime设置ConstantTimer3000(3s)断言ResponseAssertionTextResponse-SubStringNumberofSimulatedtoGroupby并发数Timeout3000(3s)ConnecttimeOut10000(10s)ResponsetimeOut10000(10s)Contentencodingutf-8Lisener无支架使用-l生成csv文件,保存timeStamp,elapsed,label,responseCode,responseMessage,threadName,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,Latency,IdleTime,ConnectSynchronizingTimer配置项HTTP请求默认值集合点设置Page(7)of(18)备注:由于是生产环境,所以没有使用第三方工具进行监控。Page(8)of(18)4.测试场景设计4.1测试场景4.2相关业务接口4.3测试用例从**入口进入**首页、商家详情页、商品详情页、商品列表、商家列表四个业务同时压测,每个业务相关的接口按列表中的顺序逐一请求。序号测试场景并发数备注2用100个并发压测综合业务,每个业务分配25个并发,循环压测20次100验证脚本的正确性3用200个并发压测综合业务,每个业务分配50个并发,循环压测20次200翻倍增大并发,检验系统的性能6用500个并发压测综合业务,每个业务分配125个并发,循环压测20次500增大到500并发,检验系统的性能4用300个并发压测综合业务,每个业务分配75个并发,循环压测20次300减小并发,检验系统的性能超时率是否有减少5用400个并发压测综合业务,每个业务分配100个并发,循环压测20次400增大并发,检验系统的性能7从20个并发开始测试,每隔10s钟增加20个并发,逐渐增大到1000个并发,并持续压测5分钟。1000从0逐渐增大到1000,检验系统随着并发的增大系统的处理效率是一个什么样的反应。压测场景由于超时率高与预期,需要降低并发压测,压测过程中增加这三个场景。Page(9)of(18)5.测试过程整个测试过程中5.1100个并发测试情况整个测试过程不管是错误率还是响应时间都是正常,系统响应很快,基本上小于400ms。5.2200个并发测试情况翻倍增加了并发数后,系统的响应有较大幅度的变厉害,部分接口响应时间翻倍,但是整个过程中平均响应时间小于2s,TPS(如图4)有所增长,达到预定指标。Page(10)of(18)5.3500个并发测试情况继续增大并发量,翻倍增加了并发数后,系统整体的性能变化很大T
本文标题:性能测试报告
链接地址:https://www.777doc.com/doc-1491884 .html