LoadRunner性能测试指参考.docx

上传人:小飞机 文档编号:3160847 上传时间:2023-03-11 格式:DOCX 页数:32 大小:50.54KB
返回 下载 相关 举报
LoadRunner性能测试指参考.docx_第1页
第1页 / 共32页
LoadRunner性能测试指参考.docx_第2页
第2页 / 共32页
LoadRunner性能测试指参考.docx_第3页
第3页 / 共32页
LoadRunner性能测试指参考.docx_第4页
第4页 / 共32页
LoadRunner性能测试指参考.docx_第5页
第5页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《LoadRunner性能测试指参考.docx》由会员分享,可在线阅读,更多相关《LoadRunner性能测试指参考.docx(32页珍藏版)》请在三一办公上搜索。

1、LoadRunner性能测试指参考性能测试指标参考 目录 1术语 . 2 1.1响应时间 . 2 1.2并发用户数 . 2 1.3在线用户数 . 2 1.4吞吐量 . 3 2 Vuser图. 3 2.1 “运行 Vuser ”图 . 3 2.2 “集合”图 (Rendezvous) . 3 3 错误图 . 3 3.1 “每秒错误数”图 . 3 4 事务图 . 4 4.1 “平均事务响应时间”图 . 4 4.2“负载下的事务响应时间”图 . 4 4.3“页面细分”图 . 5 4.4“每秒事务数” . 6 5 Web资源图. 6 5.1“每秒点击次数”图 . 6 5.2“吞吐量”图 . 6 6 系

2、统资源图 . 6 6.1 LoadRunner下监控的UNIX资源指标 . 6 6.1.1平均负载 . 6 6.1.2 CPU利用率 . 7 6.1.3 每秒传入的包数 . 7 6.2使用NMON工具监控Linux资源 . 7 6.2.1 系统资源汇总 . 7 6.2.2 磁盘资源汇总. 8 6.2.3 内存资源 . 8 7 网络监控器图 . 9 7.1 “网络延迟时间”图 . 9 8 数据库服务器资源图 . 10 8.1 Oracle服务器监控度量 . 10 8.1.1 添加Oracle自定义计数器 . 11 8.1.2 性能分析工具Statspack所提供的性能分析指标 . 15 8.2

3、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)在35秒钟内,页面给予用户响应并有所显示,可认为是“好的”; 3)在510秒钟内,页面给予用户响应并有所显示,可认为是“勉强接受

4、的”; 4)超过10秒就让人有点不耐烦了,用户很可能不会继续等待下去; 1.2并发用户数 并发用户数是在同一时刻与服务器进行了交互的在线用户数量。 在实际的性能测试中,一般比较关注业务的并发用户数,公式(1)和(2)中用来估算并发用户数和峰值,其中C是平均的并发用户数,Cp是并发用户数峰值,n是Iogin session的数量,L是Iogin session的平均长度,Iogin session定义为用户登录进入系统到退出系统的时间段,假设用户的Iogin session产生符合泊松分布,T是考察的时间长度。 例如一个OA系统的考察时间长度为8小时。 平均的并发用户数 C=n LT (1) 并

5、发用户数峰值 Cp=C+3 C (2) 假设OA系统有5000个用户,每天访问系统的平均用户数是800个,用户在8小时工作时间内使用系统,一个典型用户,一天内从登录到退出系统的平均时间为4小时,依据公式(1)和(2)可计算平均并发用户数和峰值用户数。其中,C=800 48=400,Cp=400+3 C =460。 1.3在线用户数 在线用户数是指登录到系统,Iogin session未失效的用户数。在线用户不一定给服务器产生压力,实际上在线用户也不一定会和其他用户发生并发,例如正在浏览网页的用户,对服务器没有任何影响。 1.4吞吐量 吞吐量是在一次性能测试过程中网络上传输的数据量的总和。吞吐量

6、传输时间就是吞吐率,TPS是每秒钟系统能够处理的交易或者事务的数量,它是衡量系统处理能力的重要指标。吞吐量树枝越大 说明系统处理能力越强; 吞吐量应该是随着每秒点击率的增加而增加,这种增加是建立在带宽足够处理用户提出的所有请求的基础上。 在比较吞吐量和每秒点击率中可以获得服务器在执行过程中的信息。如果服务器如预期的一样执行,那么呑吐量会随着它每秒的点击量而增加。如果点击的次数增加而呑吐量恒定或减少,就说明服务器无法执行增加的请求,结果就是事务响应时间的增加。 2 Vuser图 在负载测试场景执行期间,Vuser 会在执行事务时生成数据。通过 Vuser 图您可以 确定场景执行期间 Vuser

7、的整体运行情况。这些图会显示 Vuser 状态、已完成脚 本的 Vuser 数以及集合统计信息。将这些图与事务图相结合可以确定 Vuser 数目 对事务响应时间的影响。 2.1 “运行 Vuser ”图 “运行 Vuser”图显示测试期间每秒钟执行 Vuser 脚本的 Vuser 数及其状态。此图 对于确定任意给定时刻服务器上的 Vuser 负载非常有用。默认情况下,此图仅显 示处于运行状态的 Vuser。要查看其他 Vuser 状态,请将筛选条件设置为所需的状 态。 2.2 “集合”图 (Rendezvous) “集合”图显示在集合点处释放 Vuser 的时间以及每个点释放的 Vuser 数

8、。 此图有助于了解事务性能时间。通过对比“集合”图和“平均事务响应时间” 图,您可以看到由集合产生的负载峰值如何影响事务时间。 3 错误图 3.1 “每秒错误数”图 “每秒错误数”图显示负载测试场景运行期间每秒所发生错误的平均数。在图例中显示错误描述。错误数越小越好,通过错误数可以定位系统在负载情况下,什么时候出错,查找出系统错误的原因。 常见错误提示分析: 1、Error: Failed to connect to server “10.10.10.30:8080: 10060 Connection Error: timed out Error: Server “10.10.10.30 ha

9、s shut down the connection prematurely 分析: A、应用服务死掉。 小用户时:程序上的问题。程序上处理数据库的问题 B、应用服务没有死 应用服务参数设置问题 例:在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25。 C、数据库的连接 在应用服务的性能参数可能太小了;或数据库启动的最大连接数 2、 Error: Page download timeout (12

10、0 seconds) has expired 分析:可能是以下原因造成 A、应用服务参数设置太大导致服务器的瓶颈 B、页面中图片太多 C、在程序处理表的时候检查字段太多 4 事务图 4.1 “平均事务响应时间”图 “平均事务响应时间”图显示负载测试场景运行期间每秒内用于执行事务的平均时间。X 轴表示自场景开始运行以来经过的时间。Y 轴表示每个事务的平均响应时间。响应时间标准可参考国外的3/5/10原则(见术语章节-响应时间部分)。平均事务响应时间会随着负载用户数的增加而增加。平均事务响应时间在规定时间内越平稳越好。响应时间出现波峰越多系统越不稳定。 4.2“负载下的事务响应时间”图 “负载下的

11、事务响应时间”图是“运行 Vuser”图与“平均事务响应时间”图的组合,显示负载测试场景运行期间相对于任何给定时间点运行的 Vuser 数目的事务时间。此图有助于查看 Vuser 负载对性能时间的总体影响,在分析逐渐加压的场景时最有用。 在Analysis的“运行 Vuser”图 - 点击右键 选择“合并图表”- 在图表选项,选择“平均事务响应时间”图;在合并类型选项,选择“Correlate”。即可生成“负载下的事务响应时间”图。 图4-1 “负载下的事务响应时间”图 4.3“页面细分”图 “平均事务响应时间”图点击右键选择“Show Transaction Breakdown Tree”

12、- 在“Breakdown Tree”选择一要查看“页面细分”图的事务 - 点击右键,选择“Web Page Diagnostics for XX”,生成“页面细分”图。 注:生成“页面细分”图的前提是,执行场景时,需要在Controller Diagnostics 正常的从浏览器发送一个请求到最后显示,整个过程由以下时间片组成,如图4-2所示。 图4-2 网络时间解析图 1) DNS解释时间 浏览器向服务器发送一个请求,一般情况下,客户端的请求首先被发送到DNS服务器上,通过域名解析,将DNS名解析为IP地址。其中域名解析的时间就是DNS解析时间。通过这个时间可以确定DNS服务器或DNS服务

13、器的配置是否有问题。如果DNS服务器运行情况良好,这个时间会比较小。 2) 连接时间 DNS解析完成后,请求被送到Web服务器,之后浏览器与Web服务器之间需要建立一个初始化连接。建立连接的过程就是连接时间。通过这个时间就可以判断网络的情况,也可以判断Web服务器是否能够响应这个请求。如果正常,这个时间会比较小。 3) 第一个字节时间 建立连接后,Web服务器发出第一个数据包,经过网络传输到客户端,浏览器成功接收到第一个字节的时间就是First Buffer的时间。这个度量时间不仅可以表示Web服务器的延迟时间,还可以表示网络反应时间。 4) 接收时间 从浏览器接收第一个字节起,知道成功收到最

14、后一个字节,下载完成为止。 5) Client Time: 请求在客户端浏览器延迟时间,可能是由于客户端浏览器的ThinkTimeConfiguration,勾上“Web Page Diagnostics”。 或者客户端其他方面引起的延迟; 6) Error Time:从发送一个HTTP请求,到Web服务器发送回一个HTTP错误信息所需要的时间。 4.4“每秒事务数” 性能又一关键数据指标TPS,该数据反映了系统在同一时间内处理业务最大能力,这个数据越高,说明系统处理能力越强。当然TPS会受到负载的影响,也会随着负载的增加而逐渐增加,当系统进入繁忙的时候,TPS会下降。当TPS下降要查看是否服

15、务处理能力下载,是否出现事务等待排队,导致响应时间的增加等情,结合响应时间指标和服务器指标分析。 5 Web资源图 5.1“每秒点击次数”图 “每秒点击次数”图显示负载测试场景运行期间的每一秒内Vuser向Web服务器发出的 HTTP 请求数。此图可帮助您根据点击次数对 Vuser 生成的负载量进行评估。可以将此图与“平均事务响应时间”、“负载用户数”图进行比较,查看点击次数对事务性能的影响。点击随负载用户增加而增加,点击次数越多越好。点击数增加,响应时间增加超出规定时间,说明系统服务器排队处理事务,需要关注服务器的磁盘、内存、和CPU使用情况确定系统性能问题。 5.2“吞吐量”图 “吞吐量”

16、图显示在负载测试场景运行的每一秒,服务器上的吞吐量。吞吐量以字节为单位,表示 Vuser 在任意给定的一秒内从服务器接收的数据量。此图可帮助您根据服务器吞吐量对 Vuser 生成的负载量进行评估。可以将此图与“平均事务响应时间”图进行比较,查看吞吐量对事务性能的影响。吞吐量会随负载用户增加受影响。当负载用户数量增加,吞吐量增加,响应时间在规定范围,说明系统稳定。当负载用户增加,吞吐量增加或者下降,响应时间超出规定范围,说明系统有问题或者服务处理能力下载。 6 系统资源图 LoadRunner可监控Windows资源、UNIX资源。下面说下UNIX资源的三个重要的指标。 6.1 LoadRunn

17、er下监控的UNIX资源指标 6.1.1平均负载 上一分钟同时处于“就绪”状态的平均进程数,数值最好小于 CPU个数 * 核心数 * 0.7。如果等于,那就是说CPU正好满负载,再多一点,可能就要出问题了,有任务不能被及时分配处理器。 6.1.2 CPU利用率 CPU 的使用时间百分比。如果该值持续超过95%,表明瓶颈是CPU。那也许该增加一个处理器或换一个更快的处理器,如果服务器专用于SQL Server,可接受的最大上限是80-85%。合理使用范围应该在60%-70%,最好不要超过75%。 6.1.3 每秒传入的包数 每秒钟读入物理内存或写入页面文件的页数,如果该数值偶尔走高,表明当时有线

18、程竞争内存。如果持续很高,则内存可能是瓶颈,也有可能是内存访问命中率底。 6.2使用NMON工具监控Linux资源 监控前需要根据服务器的操作系统来安装相应版本的NMON。 为了配合性能测试,我们往往需要将一个时间段内系统资源消耗情况记录下来,这时可以使用命令:./nmon -f -s 10 -c 360。说明: ./nmon:反斜杠后面的命令名为安装的一个文件名 -f :按标准格式输出文件名称:_YYYYMMDD_HHMM.nmon -s :每隔n秒抽样一次,这里为10秒 -c :取出多少个抽样数量,这里为360,即监控=10*360/3600=1小时 该命令启动后,会在nmon所在目录下生

19、成监控文件,并持续写入资源数据,直至360个监控点收集完成即监控1小时,这些操作均自动完成,无需手工干预,测试人员可以继续完成其他操作。如果想停止该监控,需要通过“#ps ef|grep nmon”查询进程号,然后杀掉该进程以停止监控。 注:对于NMON for Solaris,可以使用命令:./sadc 10 360 test。即每隔10秒抽样一次,抽样360次。 test是文件名,同时还会生成一个test.hostname_yymmdd_hhmm.nmon格式的数据。 由于在Solaris,直接输入上面命令,若关闭shell窗口,或输入命令后回车,则直接退出执行命令。为了使命令能在后台执行

20、,命令要改为:nohup ./sadc 10 360 test & UNIX操作系统监控命令:vmstat iostat topsatsag; 6.2.1 系统资源汇总 系统资源汇总如下图所示,显示了系统CPU及IO资源的总体使用情况。CPU%值持续超过95%,表明瓶颈是CPU。如果服务器专用于SQL Server,可接受的最大上限是80-85%。合理使用范围应该在60%-70%,最好不要超过75%。 图6-1 系统资源汇总 6.2.2 磁盘资源汇总 可以通过磁盘的详细信息来帮助判断磁盘IO值偏高的原因。如果磁盘写入数据较多,平均值达到每秒450KB,可以判断这是造成磁盘IO偏高的主要原因,那

21、么结合系统实际设置,可以进一步确定造成问题的原因,如系统日志级别过低等等。 下图是磁盘资源汇总图: 图6-2 磁盘资源汇总 6.2.3 内存资源 内存资源主要有两项指标:实际剩余内存百分比,实际内存总体大小。通过这两个指标,可以知道内存的使用情况。下图为内存资源图。 图6-3 内存资源 7 网络监控器图 7.1 “网络延迟时间”图 在使用“网络延迟时间”图前,需要添加要监控的路径。 例如需要监控数据库服务器和Vuser Load Generator 之间的网络延迟时间,在Controller 的“网络延迟时间”图 - 点击右键,选择“Add Measurements” - 在Network D

22、elay Time对话框的“Monitor the network delay from machine:”区域点击“Add” 输入数据库服务器的IP地址 在“To machine(s):”区域点击“Add” 输入Vuser Load Generator的IP地址 点击“OK”,即可监控数据库服务器和Vuser Load Generator 之间的网络延迟时间。 下图将网络延迟显示为场景已用时间的函数。图中显示,在场景开始后的第 8 分钟, 有 16 毫秒的延迟。 图7-1 “网络延迟时间”图 也可以通过“网络子路径时间”图、“网络段延迟”图来查看某网络段的延迟时间。 为了验证网络瓶颈,可以合

23、并多个图来确定瓶颈是否由网络引起。例如,使用“网络延迟时间”和“运行 Vuser”图可以确定Vuser的数目如何影响网络延迟。“网络延迟时间”图显示负载测试场景运行期间的网络延迟。“运行 Vuser”图显示正在运行的Vuser数目。 在下面的合并图中,将网络延迟与正在运行的 Vuser 数目进行了对比。此图显示,当 10 个 Vuser 全部运行时,出现了22毫秒的网络延迟,暗示网络可能已超载。 图7-2 “网络延迟时间-运行Vuser”图 8 数据库服务器资源图 8.1 Oracle服务器监控度量 使用LoadRunner监控Oracle服务器需要设置Oracle监控环境,具体请参与LR11

24、的用户操作手册HP LoadRunner Controller User Guide如何设置 Oracle 监控环境章节,或参考研发-orcal数据库监控配置。 监控 Oracle 服务器时最常使用以下度量: 度量 说明 从用户调用开始到结束之间会话使用的 CPU 时间。部分用户调用可以在 10 毫秒内完成,因此用户调用的启动和结束CPU used by this session 时间可能相同。在此例中,统计数据增加了 0 毫秒。操作系统报告中可能存在类似的问题,尤其是在频繁进行上下文切换的系统上。 Bytes received via SQL*Net from client Logons c

25、urrent Opens of replaced files 通过 Net8 从客户端收到的总字节数。 当前登录总次数。 因不再位于进程文件高速缓存而需要重新打开的文件总数。 每次登录、解析或执行时, Oracle 都分配资源User calls 以跟踪相关用户调用数据结构。在确定活动时,用户调用与 RPI 调用的比率可以表明用户发送到Oracle 的各类请求将生成多少内部工作量。 SQL*Net roundtrips to/ from client Bytes sent via SQL*Net to client Opened cursors current 向客户端发送和从客户端接收的 N

26、et8 消息总数。 从前台进程发送到客户端的总字节数。 当前打开光标的总数。 此统计数据与一致性更改密切相关,计算的是对 SGA中所有块进行更改的总次数。这些更改将生成DB block changes 重做日志条目,如果提交事务,将永久更改数据库。此统计数据是数据库总负载的粗略表示,指示缓冲区被弄脏的比率。 Total file opens 实例打开文件的总次数。每个进程都需要许多文件才能使用数据库。 8.1.1 添加Oracle自定义计数器 LR自带的计数器,有时候不足以满足监控的需求,故需要手动添加自定义的Oracle计数器。 添加步骤如下: 1) 在LR的安装目录“HPLoadRunne

27、rdatmonitors”下找到文件“vmon.cfg” 2) 打开该文件“vmon.cfg”,找到第三行“CustomCounters=xx”,把自定义计数器个数“xx”改为总和 3) 在该文件“vmon.cfg”中以下面格式插入相应的计数器定义说明: ;Custom0 ;Name must be unique ;Name=Five Hundred ;Description=This counter always returns 500. ;Query=SELECT 500 FROM DUAL ;IsRate=0 其中,“Custom0”的序号 “0”应改为相应的序号 下面为增加的12个计数

28、器: Custom0 ;Name must be unique Name=库快存命中率 Description=命中率应大于0.9 Query=SELECT 100*(sum(pins-reloads)/sum(pins) from v$librarycache IsRate=0 Custom1 ;Name must be unique Name=高速缓存区命中率 Description=命中率应大于0.9 Query=SELECT round(1-SUM(PHYSICAL_READS)/(SUM(DB_BLOCK_GETS) + SUM(CONSISTENT_GETS), 4) * 100

29、FROM (SELECT CASE WHEN NAME=physical reads THEN VALUE END PHYSICAL_READS,CASE WHEN NAME = db block gets THEN VALUE END DB_BLOCK_GETS,CASE WHEN NAME = consistent gets THEN VALUE END CONSISTENT_GETS FROM V$SYSSTAT WHERE Name IN (physical reads,db block gets,consistent gets) IsRate=0 Custom2 ;Name must

30、 be unique Name=共享区库缓存区命中率 Description=命中率应大于0.99 Query=Select round(sum(pins-reloads)/sum(pins) * 100, 2) from v$librarycache IsRate=0 Custom3 ;Name must be unique Name=共享区字典缓存区命中率 Description=命中率应大于0.85 Query=Select round(sum(gets-getmisses-usage-fixed)/sum(gets) * 100, 2) from v$rowcache IsRate=0

31、 Custom4 ;Name must be unique Name=检测回滚段的争用 Description=应该小于1% Query=select round(sum(waits)/sum(gets) * 100, 2) from v$rollstat IsRate=0 Custom5 ;Name must be unique Name=检测回滚段收缩次数 Description=应该 Query=select sum(shrinks) from v$rollstat, v$rollname where v$rollstat.usn = v$rollname.usn IsRate=0 Cu

32、stom6 ;Name must be unique Name=监控表空间的I/O读总数 Description=监控表空间的I/O Query=select sum(f.phyrds) pyr from v$filestat f, dba_data_files df where f.file# = df.file_id IsRate=0 Custom7 ;Name must be unique Name=监控表空间的I/O块读总数 Description=监控表空间的I/O Query=select sum(f.phyblkrd) pbr from v$filestat f, dba_dat

33、a_files df where f.file# = df.file_id IsRate=0 Custom8 ;Name must be unique Name=监控表空间的I/O写总数 Description=监控表空间的I/O Query=select sum(f.phywrts) pyw from v$filestat f, dba_data_files df where f.file# = df.file_id IsRate=0 Custom9 ;Name must be unique Name=监控SGA中重做日志缓存区的命中率 Description=应小于1% Query=sel

34、ect Decode(immediate_gets+immediate_misses,0,0,immediate_misses/(immediate_gets+immediate_misses)*100) ratio2 FROM v$latch WHERE name IN (redo copy) IsRate=0 Custom10 ;Name must be unique Name=监控内存和硬盘的排序比率 Description=应小于10% Query=select round(sum(case when name=sorts (disk)then value else 0 end)/su

35、m(case when name=sorts (memory) then value else 0 end)*100,2) from (select name,value from v$sysstat where name in (sorts (memory),sorts (disk) IsRate=0 Custom11 ;Name must be unique Name=内存排序命中率 Description=应大于95% Query=select round(100*b.value)/decode(a.value+b.value), 0, 1, (a.value+b.value), 2)f

36、rom v$sysstat a, v$sysstat b where a.name=sorts (disk) and b.name=sorts (memory) IsRate=0 4) 编辑该文件后,需要重启LR的控制器,才能在监控Oracle服务器时在“CUSTOM”下添加这些自定义的计数器。 指标说明: 指标名称 库快存命中率 SQL语句 SELECT v$librarycache 指标范围 命中率应大于0.9。 说明:如果自由内存接近于0而且库快存命中率小于0.90,那么需要增加SHARED_POOL_SIZE的大小。 高速缓存区命中率 Query=SELECT round(1-SUM(PHYSICAL_READS)/(SUM(DB_BLOC命中率应大于0.9。 100*(sum(pins-reloads)/sum(pins) from K_GETS) + SUM(CONSISTENT_GETS), 4) * 100 说明:如果数据的缓冲区高速FROM (SELECT CASE WHEN NAME=physical 缓存命中率小于0.90,那么需reads THEN VALUE END PHYSICAL_READS

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号