First look at a picture:
Note: The picture on the right is often used in our work
The web performance indicators we focus on are Those ones?
1. Page loading time
从页面开始加载到页面onload事件触发的时间。一般来说onload触发代表着直接通过HTML引用的CSS,JS,图片资源已经完全加载完毕。
2. All page loading time
全部页面载入时间指从最初启动浏览开始,直到所有元素都被加载完成后,在2秒后仍然没有网络活动的时间。
0-2 Seconds: The user experience is the best, score 100
2-8 seconds: Users can tolerate it, starting from the 2nd second, 5 points will be deducted for every 1 second exceeded
8-15 seconds: Users cannot tolerate it, starting from the 2nd second Starting, 5 points will be deducted for every 1 second exceeded
3. First byte time
从开始加载到收到服务器返回数据的第一字节的时间
Meeting time = DNS resolution time, connection creation time, SSL authentication time 100ms. Deduct 1 point for every 10ms slower than the standard time.
0-1 second: The user experience is the best
1-2 seconds: Users can tolerate it
2-3 seconds: Users cannot tolerate it
4. Use long connections
连接视图展现了页面加载过程中创建的(keepalive)连接,以及通过每个连接所加载的资源。
5. DNS time
进行域名解析所需要的时间
0-50 milliseconds 100 minutes
50- 500 milliseconds is normal and may affect the user experience. Starting from 50 milliseconds, every additional 10 milliseconds will be subtracted by 2 minutes. Go to 2 minutes
客户端建立连接的时间
100-500 milliseconds, generally, may affect user experience, Starting from 100 milliseconds, if there is no increase of 10 milliseconds, 1 point will be subtracted
More than 500 milliseconds will seriously affect the user's web experience. Starting from 100 milliseconds, for every 10 milliseconds added, 1 minute will be subtracted
页面渲染、下载速度、页面流畅度
以上评分的加权计算值=全部页面载入时间评分*0.2+首字节时间评分*0.2+使用了长连接*0.1+DNS时间评分*0.2+TCP时间评分*0.2+HTTP网页评分*0.1
请求时间定义:所谓的请求时间是指用户从三次握手到最后一次请求发出的这一段时间,这个时间可以用于定位网络问题。网络丢包率定义:当前的网络的丢包情况统计。网络时延定义:当前网络的时延。包括RTTc和RTTs。RTTc用户到探针的传输时延RTTs探针到服务器的传输时延可以关联的其他指标受影响的用户数所谓受影响,即当该业务的某个指标比较差时,有多少个用户受到影响。通过这个指标,可以进而得到具体受到影响的用户是哪些。受影响的站点数即当网络出现问题,或者是服务器出现问题时,有多少个站点受到影响。通过这个指标,可以进而得到具体受到影响的站点是哪些。
Simply speaking, the processing of a Web request includes the following steps:
(1) Client sends request
(2) web server Receive the request and process it;
(3) The web server obtains data from the DB;
(4) The web server generates the user's object (page) and returns it to the user. The time from the beginning of the request to the last byte sent to the client is called the response time (the third step is not included in each request processing).
2. Request response time
3. Transaction response time
事务可能由一系列请求组成,事务的响应时间主要是针对用户而言,属于宏观上的概念,是为了向用户说明业务响应时间而提出的.例如:跨行取款事务的响应时间就是由一系列的请求组成的.事务响应时间是直接衡量系统性能的参数.
并发一般分为2种情况。一种是严格意义上的并发,即所有的用户在同一时刻做同一件事情或者操作,这种操作一般指做同一类型的业务。比如在信用卡审批业务中,一定数目的拥护在同一时刻对已经完成的审批业务进行提交;还有一种特例,即所有用户进行完全一样的操作,例如在信用卡审批业务中,所有的用户可以一起申请业务,或者修改同一条记录。 另外一种并发是广义范围的并发。这种并发与前一种并发的区别是,尽管多个用户对系统发出了请求或者进行了操作,但是这些请求或者操作可以是相同的,也可以是不同的。对整个系统而言,仍然是有很多用户同时对系统进行操作,因此也属于并发的范畴。 可以看出,后一种并发是包含前一种并发的。而且后一种并发更接近用户的实际使用情况,因此对于大多数的系统,只有数量很少的用户进行“严格意义上的并发”。对于WEB性能测试而言,这2种并发情况一般都需要进行测试,通常做法是先进行严格意义上的并发测试。严格意义上的用户并发一般发生在使用比较频繁的模块中,尽管发生的概率不是很大,但是一旦发生性能问题,后果很可能是致命的。严格意义上的并发测试往往和功能测试关联起来,因为并发功能遇到异常通常都是程序问题,这种测试也是健壮性和稳定性测试的一部分。用户并发数量:关于用户并发的数量,有2种常见的错误观点。 一种错误观点是把并发用户数量理解为使用系统的全部用户的数量,理由是这些用户可能同时使用系统;还有一种比较接近正确的观点是把在线用户数量理解为并发用户数量。实际上在线用户也不一定会和其他用户发生并发,例如正在浏览网页的用户,对服务器没有任何影响,但是,在线用户数量是计算并发用户数量的主要依据之一。
指的是在一次性能测试过程中网络上传输的数据量的总和.吞吐量/传输时间,就是吞吐率.
7. Number of clicks PV
每秒钟用户向WEB服务器提 交的HTTP请求数.这个指标是WEB应用特有的一个指标:WEB 应用是"请求-响应"模式,用户发出一次申请,服务器就要处理一次,所以点击是WEB应用能够处理的交易的最小单位.如果把每次点击定义为一个交易,点击率和TPS就是一个概念.容易看出,点击率越大,对服务器的压力越大.点击率只是一个性能参考指标,重要的是分析点击时产生的影响。需要注意的是,这里的点击并非指鼠标的一次单击操作,因为在一次单击操作中,客户端可能向服务器发出多个HTTP请求.
性能项 命令 指标 CPU限制 vmstat 当%user+%sys超过80%时 磁盘I/O限制 Vmstat 当%iowait超过40%(AIX4.3.3或更高版本)时 应用磁盘限制 Iostat 当%tm_act超过70%时 虚存空间少 Lsps,-a 当分页空间的活动率超过70%时 换页限制 Iostat, stat 虚存逻辑卷%tm_act超过I/O(iostat)的30%,激活的虚存率超过CPU数量(vmstat)的10倍时 系统失效 Vmstat, sar 页交换增大、CPU等待并运行队列
性能项 资源 评价 CPU占用率 70% 好 85% 坏 90%+ 很差 磁盘I/0 <30% 好 <40% 坏 <50%+ 很差 网络 <30%带宽 好 运行队列 <2*CPU数量 好内存 没有页交换 好 每个CPU每秒 10个页交换 坏 更多的页交换 很差