Web性能测试方案

文档仅供参考

3.2压力测试

在一定饱和状态下系统的处理能力,在负载测试的基础上,继续加压到一定阶段即是压力测试。压力测试一般设定cpu使用率达到75%以上,内存使用率达到70%以上,用于测试系统在压力环境下的稳定性。

进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。

3.3前端连接测试

用户连接到Web应用系统的速度根据上网方式的变化而变化,她们或许是电话拨号,或是宽带上网。当下载一个程序时,用户能够等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。

另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。

以上需要关注的前端性能指标,主要包含以下三个指标:

5

2020年4月19日

文档仅供参考

3.3.1加载时间指标

a.Time to First Impression

表示从用户在浏览器键入URL按下回车键一刻开始,到页面开始有反应(用户能够在页面中看见一点点内容)为止。直观信号就是网页开始显示title。 b.Time to onLoad Event

表示从页面开始显示内容,到浏览器开始触发OnLoad函数(开始执行js)这一时间段。只有当初始的文本和所引用的对象加载完成,浏览器才开始触发OnLoad函数 c.Time to Fully Loaded

表示从上一时间段末到整个网页完全加载完成(所有OnLoad函数以及相关的动态资源加载完成)。

3.3.2资源情况指标

网页由初始的html文本中嵌入图片以及经过XHR或者修改dom树动态加载的内容组成,css负责样式,js负责行为。 a. Total Number of Requests

包括html网页请求,css、js资源下载及其它网络请求。优化的目标之一是要尽量减少请求数。

b. Total Number of HTTP 300s/400s/500s

表示返回状态为300(重定向)、400(客户端错误)、500(服务器端错误)的http请求。尽量避免这些请求,以提高页面

6

2020年4月19日

文档仅供参考

load的时间。造成这些状态的原因经常是服务器的实施、配置和部署问题。

c. Total Size of Web Site

构成网页元素总的大小。图片或者js库的增加都会对下载时间造成重要的影响。

d. Total Size of Images/CSS/JS

image、css、js在网页元素大小中占主要比例。 e. Total Number of XHR(XMLHttpRequest) Requests 经过js异步从服务器端获得数据的请求数。一些js框架提供了跟服务器端的更新机器,就是XHR请求。经过配置能够减少XHR请求的数目。

3.3.3网络连接指标

浏览器底层的网络连接对资源的下载速度有很大影响。资源的下载过程分为很多阶段。下面介绍这些阶段以及浏览器、网络、请求如何影响这些阶段的时间。 a. DNS Time

dns 查询的时间。网页请求会产生一次寻找该网页资源所在主机的dns查询。在同个域名进行网页切换不会造成新的dns查询。

b. Connect Time

7

2020年4月19日

文档仅供参考

指浏览器和服务器之间建立tcp/ip连接的时间,对于ssl连接包括握手的时间。网络连接过慢、使用ssl、使用短连接而非常连接都是造成connect time较多的原因。 c. Server Time

指收到请求后服务器逻辑处理的时间, d. Transfer Time

这一指标与浏览器和服务器之间的连接速度相一致,经过减小传输内容或使用cdn来降低Transfer Time。 e. Wait Time

等待时间和同一个域中服务资源的数量直接相关。每个域的浏览器的物理网络的限制,导致资源等待可用的连接。减少资源的数量,或将资源散布在不同的域,能将这一时间降低。平均等待时间的大小更能反映等待时间是否需要注意。

f. Number of Domains / Single Resource Domains 部署网站资源的域主机数量是很重要的,因为它影响的DNS,连接和等待时间。专门用户资源下载的域是必要的,她将直接减少等待时间。应避免单一的资源域,否则你将为dns查询以及资源下载付出昂贵的代价。 4测试执行

此处包含性能测试的软硬件环境准备,所需测试工具与测试步骤。

8

2020年4月19日

联系客服:779662525#qq.com(#替换为@)