性能测试指标参考目录1术语 (2)1.1响应时间 (2)1.2并发用户数 (2)1.3在线用户数 (2)1.4吞吐量 (3)2 Vuser图 (3)2.1 “运行Vuser ”图(Running Vusers) (3)2.2 “集合”图(Rendezvous) (3)3 错误图 (3)3.1 “每秒错误数(按描述)”图(Error Statistics) (3)4 事务图 (4)4.1 “平均事务响应时间”图(Average Transaction Response Time) (4)4.2“负载下的事务响应时间”图(Running Vuser –Average Transaction Response Time) (4)4.3“页面细分”图(Web Page Diagnostics图) (5)4.4“每秒事务数”(Transactions per second 简称:TPS) (6)5 Web资源图 (6)5.1“每秒点击次数”图(Hits per Second) (6)5.2“吞吐量”图(Throughput) (6)6 系统资源图 (6)6.1 LoadRunner下监控的UNIX资源指标 (6)6.1.1平均负载(Average load) (6)6.1.2 CPU利用率(CPU utilization) (7)6.1.3 每秒传入的包数(Paging rate) (7)6.2使用NMON工具监控Linux资源 (7)6.2.1 系统资源汇总(SYS_SUMM) (7)6.2.2 磁盘资源汇总(DISK_SUMM) (8)6.2.3 内存资源(MEM) (8)7 网络监控器图 (9)7.1 “网络延迟时间”图(Network Delay Time) (9)8 数据库服务器资源图 (10)8.1 Oracle服务器监控度量 (10)8.1.1 添加Oracle自定义计数器 (11)8.1.2 性能分析工具Statspack所提供的性能分析指标 (15)8.2 SQL Server服务器监控度量 (18)1术语1.1响应时间响应时间是从请求到响应所需时间,从客户端请求开始,结束于来自服务器的响应并呈现页面的时间。
从图3-1可以看出,对于一个三层应用架构,响应时间包括了网络传输时间(N1+N2+N3+N4)、Web服务器和数据库服务器的处理时间(A1+A2+A3)。
图1-1 WEB应用响应时间分析响应时间标准可参考国外的3/5/10原则:1)在3秒钟之内,页面给予用户响应并有所显示,可认为是“很不错的”;2)在3~5秒钟内,页面给予用户响应并有所显示,可认为是“好的”;3)在5~10秒钟内,页面给予用户响应并有所显示,可认为是“勉强接受的”;4)超过10秒就让人有点不耐烦了,用户很可能不会继续等待下去;1.2并发用户数并发用户数是在同一时刻与服务器进行了交互的在线用户数量。
在实际的性能测试中,一般比较关注业务的并发用户数,公式(1)和(2)中用来估算并发用户数和峰值,其中C是平均的并发用户数,Cp是并发用户数峰值,n是Iogin session的数量,L是Iogin session的平均长度,Iogin session定义为用户登录进入系统到退出系统的时间段,假设用户的Iogin session产生符合泊松分布,T是考察的时间长度。
例如一个OA系统的考察时间长度为8小时。
平均的并发用户数C=n L/T (1)并发用户数峰值Cp=C+3 √C (2)假设OA系统有5000个用户,每天访问系统的平均用户数是800个,用户在8小时工作时间内使用系统,一个典型用户,一天内从登录到退出系统的平均时间为4小时,依据公式(1)和(2)可计算平均并发用户数和峰值用户数。
其中,C=800 4/8=400,Cp=400+3 √C =460。
1.3在线用户数在线用户数是指登录到系统,Iogin session(会话)未失效的用户数。
在线用户不一定给服务器产生压力,实际上在线用户也不一定会和其他用户发生并发,例如正在浏览网页的用户,对服务器没有任何影响。
1.4吞吐量吞吐量是在一次性能测试过程中网络上传输的数据量的总和。
吞吐量/传输时间就是吞吐率,TPS是每秒钟系统能够处理的交易或者事务的数量,它是衡量系统处理能力的重要指标。
吞吐量树枝越大说明系统处理能力越强;吞吐量应该是随着每秒点击率的增加而增加,这种增加是建立在带宽足够处理用户提出的所有请求的基础上。
在比较吞吐量和每秒点击率中可以获得服务器在执行过程中的信息。
如果服务器如预期的一样执行,那么呑吐量会随着它每秒的点击量而增加。
如果点击的次数增加而呑吐量恒定或减少,就说明服务器无法执行增加的请求(每秒点击率),结果就是事务响应时间的增加。
2 Vuser图在负载测试场景执行期间,Vuser 会在执行事务时生成数据。
通过Vuser 图您可以确定场景执行期间Vuser 的整体运行情况。
这些图会显示Vuser 状态、已完成脚本的Vuser 数以及集合统计信息。
将这些图与事务图相结合可以确定Vuser 数目对事务响应时间的影响。
2.1 “运行Vuser ”图(Running Vusers)“运行Vuser”图显示测试期间每秒钟执行Vuser 脚本的Vuser 数及其状态。
此图对于确定任意给定时刻服务器上的Vuser 负载非常有用。
默认情况下,此图仅显示处于运行状态的Vuser。
要查看其他Vuser 状态,请将筛选条件设置为所需的状态。
2.2 “集合”图(Rendezvous)“集合”图显示在集合点处释放Vuser 的时间以及每个点释放的Vuser 数。
此图有助于了解事务性能时间。
通过对比“集合”图和“平均事务响应时间”图,您可以看到由集合产生的负载峰值如何影响事务时间。
3 错误图3.1 “每秒错误数(按描述)”图(Error Statistics)“每秒错误数(按描述)”图显示负载测试场景运行期间每秒所发生错误的平均数(按错误描述分组)。
在图例中显示错误描述。
错误数越小越好,通过错误数可以定位系统在负载情况下,什么时候出错,查找出系统错误的原因。
常见错误提示分析:1、Error: Failed to connect to server “10.10.10.30:8080″: [10060] Connection Error: timed out Error: Server “10.10.10.30″ has shut down the connection prematurely分析:A、应用服务死掉。
小用户时:程序上的问题。
程序上处理数据库的问题B、应用服务没有死应用服务参数设置问题例:在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。
如果连接时收到connection refused消息,说明应提高该值,每次增加25%。
C、数据库的连接在应用服务的性能参数可能太小了;或数据库启动的最大连接数(跟硬件的内存有关)2、Error: Page download timeout (120 seconds) has expired分析:可能是以下原因造成A、应用服务参数设置太大导致服务器的瓶颈B、页面中图片太多C、在程序处理表的时候检查字段太多4 事务图4.1 “平均事务响应时间”图(Average Transaction Response Time)“平均事务响应时间”图显示负载测试场景运行期间每秒内用于执行事务的平均时间。
X 轴表示自场景开始运行以来经过的时间。
Y 轴表示每个事务的平均响应时间(秒)。
响应时间标准可参考国外的3/5/10原则(见术语章节-响应时间部分)。
平均事务响应时间会随着负载用户数的增加而增加。
平均事务响应时间在规定时间内越平稳越好。
响应时间出现波峰越多系统越不稳定。
4.2“负载下的事务响应时间”图(Running Vuser –Average Transaction Response Time)“负载下的事务响应时间”图是“运行 Vuser”图与“平均事务响应时间”图的组合,显示负载测试场景运行期间相对于任何给定时间点运行的 Vuser 数目的事务时间。
此图有助于查看 Vuser 负载对性能时间的总体影响,在分析逐渐加压的场景时最有用。
在Analysis的“运行 Vuser”图 - 点击右键–选择“合并图表”(Merge Graphs)- 在图表选项,选择“平均事务响应时间”图;在合并类型选项,选择“Correlate”。
即可生成“负载下的事务响应时间”图。
图4-1 “负载下的事务响应时间”图4.3“页面细分”图(Web Page Diagnostics图)“平均事务响应时间”图点击右键选择“Show Transaction Breakdown Tree” - 在“Breakdown Tree”选择一要查看“页面细分”图的事务 - 点击右键,选择“Web Page Diagnostics for XX(事务)”,生成“页面细分”图。
注:生成“页面细分”图的前提是,执行场景时,需要在Controller – Diagnostics –Configuration,勾上“Web Page Diagnostics”。
正常的从浏览器发送一个请求到最后显示,整个过程由以下时间片组成,如图4-2所示。
图4-2 网络时间解析图1)DNS解释时间(DNS Resolution)浏览器向服务器发送一个请求,一般情况下,客户端的请求首先被发送到DNS服务器上,通过域名解析,将DNS名解析为IP地址。
其中域名解析的时间就是DNS解析时间(DNS Resolution)。
通过这个时间可以确定DNS服务器或DNS服务器的配置是否有问题。
如果DNS服务器运行情况良好,这个时间会比较小。
2)连接时间(Connection)DNS解析完成后,请求被送到Web服务器,之后浏览器与Web服务器之间需要建立一个初始化连接。
建立连接的过程就是连接时间(Connection)。
通过这个时间就可以判断网络的情况,也可以判断Web服务器是否能够响应这个请求。
如果正常,这个时间会比较小。
3)第一个字节时间(First Buffer)建立连接后,Web服务器发出第一个数据包,经过网络传输到客户端,浏览器成功接收到第一个字节的时间就是First Buffer的时间。
这个度量时间不仅可以表示Web服务器的延迟时间,还可以表示网络反应时间。
4)接收时间(Receive)从浏览器接收第一个字节起,知道成功收到最后一个字节,下载完成为止。
5)Client Time: 请求在客户端浏览器延迟时间,可能是由于客户端浏览器的ThinkTime或者客户端其他方面引起的延迟;6)Error Time:从发送一个HTTP请求,到Web服务器发送回一个HTTP错误信息所需要的时间。