ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:884.21KB ,
资源ID:10461454      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10461454.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Web性能测试方案.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Web性能测试方案.docx

1、Web性能测试方案Web性能测试方案1测试目此处阐述本次性能测试目,包括必要性分析与扩展性描述。性能测试最主要目是检验当前系统所处性能水平,验证其性能是否能满足未来应用需求,并进一步找出系统设计上瓶颈,以期改善系统性能,达到用户要求。2测试范围此处主要描述本次性能测试技术及业务背景,以及性能测试特点。编写此方案目是为云应用产品提供web性能测试方法,因此方案内容主要包括测试环境、测试工具、测试策略、测试指标与测试执行等。2.1测试背景以云采业务为例,要满足用户在互联网集中采购要求,实际业务中通过云采平台询报价、下单频率较高,因此云采平台性能直接决定了业务处理效率,并能够支撑业务并发压力。例如:

2、支撑100家企业用户集中访问,以及业务处理要求。2.2性能度量指标响应时间(TTLB)即“time to last byte”,指是从客户端发起一个请求开始,到客户端接收到从服务器端返回响应结束,这个过程所耗费时间,响应时间单位一般为“秒”或者“毫秒”。响应时间网络响应时间+应用程序响应时间。响应时间标准:序号时间度量标准结果1小于2s优2介于2s-5s良3介于5s-8s一般4大于8s差事务能力TPS(transaction per second)服务器每秒处理事务数;一个事务是指一个客户机向服务器发送请求然后服务器做出反应过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,一次来计算

3、使用时间和完成事务个数。它是衡量系统处理能力重要指标。并发用户数同一时刻与服务器进行交互在线用户数量。 吞吐率(Throughput)单位时间内网络上传输数据量,也可指单位时间内处理客户端请求数量,是衡量网络性能重要指标。吞吐率=吞吐量/传输时间资源利用率这里主要指CPU利用率(CPU utilization),内存占用率。3测试内容此处对性能测试整体计划进行描述,包括测试内容以及关注性能指标。 Web性能测试内容包含:压力测试、负载测试、前端连接测试。3.1负载测试负载测试是为了测量Web系统在某一负载级别上性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系

4、统用户数量,也可以是在线数据处理数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面请求?负载测试应该安排在Web系统发布以后,放在Internet上接受负载测试。3.2压力测试在一定饱和状态下系统处理能力,在负载测试基础上,继续加压到一定阶段即是压力测试。压力测试通常设定cpu使用率达到75%以上,内存使用率达到70%以上,用于测试系统在压力环境下稳定性。进行压力测试是指实际破坏一个Web应用系统,测试系统反映。压力测试是测试系统限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提

5、供错误数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。 3.3前端连接测试用户连接到Web应用系统速度根据上网方式变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。 另外,有些页面有超时限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实页面。以上需要关注前端性能指标,主要包含以下三个指标:3.3.1加载时间指标a.Time to First Impressio

6、n表示从用户在浏览器键入URL按下回车键一刻开始,到页面开始有反应(用户可以在页面中看见一点点内容)为止。直观信号就是网页开始显示title。b.Time to onLoad Event表示从页面开始显示内容,到浏览器开始触发OnLoad函数(开始执行js)这一时间段。只有当初始文本和所引用对象加载完成,浏览器才开始触发OnLoad函数c.Time to Fully Loaded表示从上一时间段末到整个网页完全加载完成(所有OnLoad函数以及相关动态资源加载完成)。3.3.2资源情况指标网页由初始html文本中嵌入图片以及通过XHR或者修改dom树动态加载内容组成,css负责样式,js负责行

7、为。a. Total Number of Requests包括html网页请求,css、js资源下载及其它网络请求。优化目标之一是要尽量减少请求数。b. Total Number of HTTP 300s/400s/500s表示返回状态为300(重定向)、400(客户端错误)、500(服务器端错误)http请求。尽量避免这些请求,以提高页面load时间。造成这些状态原因经常是服务器实施、配置和部署问题。c. Total Size of Web Site构成网页元素总大小。图片或者js库增加都会对下载时间造成重要影响。d. Total Size of Images/CSS/JSimage、css

8、、js在网页元素大小中占主要比例。e. Total Number of XHR(XMLHttpRequest) Requests通过js异步从服务器端获得数据请求数。一些js框架提供了跟服务器端更新机器,就是XHR请求。通过配置可以减少XHR请求数目。3.3.3网络连接指标浏览器底层网络连接对资源下载速度有很大影响。资源下载过程分为很多阶段。下面介绍这些阶段以及浏览器、网络、请求如何影响这些阶段时间。a. DNS Timedns 查询时间。网页请求会产生一次寻找该网页资源所在主机dns查询。在同个域名进行网页切换不会造成新dns查询。b. Connect Time指浏览器和服务器之间建立tcp

9、/ip连接时间,对于ssl连接包括握手时间。网络连接过慢、使用ssl、使用短连接而非常连接都是造成connect time较多原因。c. Server Time指收到请求后服务器逻辑处理时间,d. Transfer Time这一指标与浏览器和服务器之间连接速度相一致,通过减小传输内容或使用cdn来降低Transfer Time。e. Wait Time等待时间和同一个域中服务资源数量直接相关。每个域浏览器物理网络限制,导致资源等待可用连接。减少资源数量,或将资源散布在不同域,能将这一时间降低。平均等待时间大小更能反映等待时间是否需要注意。f. Number of Domains / Singl

10、e Resource Domains部署网站资源域主机数量是很重要,因为它影响DNS,连接和等待时间。专门用户资源下载域是必要,他将直接减少等待时间。应避免单一资源域,否则你将为dns查询以及资源下载付出昂贵代价。4测试执行此处包含性能测试软硬件环境准备,所需测试工具与测试步骤。4.1环境与数据准备4.1.1负载测试主机数量配置详情操作系统数据库中间件测试工具监控工具4.1.2压力测试主机数量配置详情操作系统数据库中间件测试工具监控工具4.1.3前端连接测试略4.2测试步骤与测试结果输出4.2.1负载测试4.2.1.1测试工具JmeterApache JMeter是Apache组织开发基于Ja

11、va压力测试工具,用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器等等。4.2.1.2测试步骤1.建立测试计划启动jmeter后,jmeter会自动生成一个空测试计划,用户可以基于该测试计划建立自己测试计划。2.添加线程组一个性能测试请求负载是基于一个线程组完成。一个测试计划必须有一个线程组。测试计划添加线程组非常简单。在测试计划右键弹出下拉菜单(添加-Threads(Users)-线程组)中选择线程组即可。jmeter中 每个测试计划至少需要包

12、含一个线程组,当然也可以在一个计划中创建多个线程组,那么多个线程组之间又会怎样顺序执行(串行还是并行)?在测试计划下面多个线程是并行执行,也就是说这些线程组是同时被初始化并同时执行线程组下Sampler。线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds)、循环次数。线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。准备时长: 设置虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。循环次数:每个线程发送请求次数。如果线程数为2

13、0 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。设置合理线程数对于能否达到测试目标有决定性影响。在本例中,要求得到网站首页在20 QPS 负载情况下响应时间,如果如果线程数量设置过小,则很可能无法达到设定QPS要求。另外,设置合理循环次数也很重要,除了上面介绍固定循环次数与永远外;也可以灵活选择设定测试运行时间。勾选“调度器”,进行调度器配置。3. 添加HTTP请求添加完成线程组后,在线程组上右键菜单(添加-Sampler-HTTP请求)选择HTTP请求。对于jmeter来说,取样

14、器(Sampler)是与服务器进行交互单元。一个取样器通常进行三部分工作:向服务器发送请求记录服务器响应数据记录相应时间信息4.设置QPS限制本次性能测试目是“了解云采首页在负载达到20 QPS时响应时间”,因此需要控制向云采首页发送请求负载为20QPS。QPS : Query Per Second 每秒查询率。是一台查询服务器每秒能够处理查询次数。在因特网上,作为域名系统服务器机器性能经常用每秒查询率来衡量。4.2.2压力测试4.2.2.1测试工具UAPRunnerUAPRunner 是一款面向树形数据结构,模拟用户(UAPRunner 中表示为虚拟用户)通过浏览器访问B/S 架构和UAP

15、平台系统行为、实现向服务器端发送请求及对服务器端发回响应进行处理工具。利用UAPRunner 可以实现对Web 轻量级和基于UAP 平台性能负载测试,通过模拟上万用户实施并发负载。4.2.2.2测试步骤1.下载安装uaprunnerhttp:/20.10.129.77:8080/gitlab/test-team/download/tree/master/UAPRUNNER2.配置UAPRunner3.录制并生成脚本 4. 创建用例流、场景5. 编辑事务6. 参数化7. 增加虚拟用户8. 查看测试结果9. 压力数据:cpu使用率达到75%以上,内存使用率达到70%以上,查看系统稳定性(事务响应时

16、间、事务通过率)4.2.3前端连接测试4.2.3.1测试工具WebPagetestWebPageTest是一款非常强大Web页面性能评测工具,已经开源。在该网站输入你url,就会生成1个url加载时间瀑布图,对所有加载资源(css,js,image等等)列出优化清单。4.3.2.2测试步骤1.以云采为例,在http:/www.webpagetest.org/ 页面输入 ,Testlocation选择“”,然后点击“”开始测试。2.系统会给出等待提示信息。3.测试结束自动生成测试报告4.点击“”可以查看Firstbyte时间,DOM Elements,以及Result(error code)等详细信息。5.Test结果页面点击“”可以查看改进建议。5测试风险分析此处描述测试过程中可能存在风险。序号风险描述风险发生可能性(高、中、低)风险对测试项目影响规避方法备注

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1