一、占有率分析

1. 平均事务响应时间

Average Transaction Response Time 优秀:<2s

良好:2-5s

及格:6-10s

不及格:>10s

2. 每秒点击率

Hits per Second

当增大系统的压力(或增加并发用户数)时,吞吐率和TPS的变化曲线呈大体一致,则系统基本稳定。若压力增大时,吞吐率的曲线增加到一定程度后出现变化缓慢,甚至平坦,很可能是网络出现带宽瓶颈,同理若点击率/TPS曲线出现变化缓慢或者平坦,很可能是服务器响应时间增加,观察服务器资源使用情况,确定是否是服务器问题。

3. 请求响应时间

Time to Last Byte

4. 每秒系统处理事务数

Transaction per second

5. 吞吐量

Throughout

6. CPU利用率

Processor / %Processor Time 好:70%

坏:85%

很差:90%+

7. 数据库操作消耗的CPU时间

Processor / %User Time 如果该值较大,可以考虑是否能通过友好算法等方法降低这个值。如果该服务器数据库服务器, Processor\%User Time 值大的原因很可能是数据库的排序或是函数操作消耗了过多的CPU时间,此时可以考虑对数据库系统进行优化。

8. 核心态CPU平均利用率

Processor /%Privileged Time 如果该参数值和"Physical Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统

9. 处理队列中的线程数

Processor / Processor Queue Length 如果该值保持不变(>=2)个并且%Processor Time 超过90%,那么可能存在处理器瓶颈。如果发现超过2,而处理器的利用率却一直很低,那么或许更应该去解决处理器阻塞问题,这里处理器一般不是瓶颈。

10. 文件系统缓存

Memory / Cache Bytes 50%的可用物理内存

11. 剩余的可用内存

Memory / Avaiable Mbytes 至少要有10% 的物理内存值

12. 每秒下载页数

Memory / pages/sec 好:无页交换

坏:CPU每秒10个页交换

很差:更多的页交换

13. 页面读取操作速率

Memory / page read/sec 如果页面读取操作速率很低,同时 % Disk Time 和 Avg.Disk Queue Length的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足

14. 物理磁盘利用率

Physical Disk / %Disk Time 好:<30%

坏:<40%

很差:<50%+

15. 物理磁盘平均磁盘I/O队列长度

Physical Disk / Avg.Disk Queue Length 该值应不超过磁盘数的1.5~2 倍。要提高性能,可增加磁盘

16. 网络吞吐量

Network Interface / Bytes Total/sec 判断网络连接速度是否是瓶颈,可以用该计数器的值和当前网络的带宽,结果应该小于50%

17. 数据高速缓存区命中率 命中率应大于0.90最好

18. 共享区库缓存区命中率 命中率应大于0.99

19. 监控 SGA 中字典缓冲区的命中率 命中率应大于0.85

20. 检测回滚段的争用 小于1%

21. 监控 SGA 中重做日志缓存区的命中率

应该小于1%

22. 监控内存和硬盘的排序比率 最好使它小于 10% 安装

版本要求

LoadRunner 分为Windows 版本和Unix 版本。如果所有测试环境基于Windows平台,那么只要安装Windows 版本即可。

LoadRunner的Unix版本仅提供Load Generator组件的安装(即LoadRunner中的负载生成器)。也就是说,这个负载生成器可以在Unix环境下安装和运行,并提供给Controller进行远程管理。但是,脚本的录制和场景的设计必须在Windows平台完成。

系统要求

运行LoadRunner,内存最好在128M 以上,LoadRunner7.8 的最低要求。内存最好在512M 以上,安装LoadRunner 的磁盘空间至少剩余500M。操作系统最好为Windows 2000。

二、系列重要参数

(1)LR系列函数:

lr_start_transaction 为性能分析标记事务的开始

lr_end_transaction 为性能分析标记事务的结束

lr_rendezvous 在 Vuser 脚本中设置集合点

lr_think_time 暂停 Vuser 脚本中命令之间的执行

lr_end_sub_transaction 标记子事务的结束以便进行性能分析

lr_end_transaction 标记 LoadRunner 事务的结束

Lr_end_transaction("trans1",Lr_auto);

lr_end_transaction_instance 标记事务实例的结束以便进行性能分析

lr_fail_trans_with_error 将打开事务的状态设置为 LR_FAIL 并发送错误消息

lr_get_trans_instance_duration 获取事务实例的持续时间(由它的句柄指定)

lr_get_trans_instance_wasted_time 获取事务实例浪费的时间(由它的句柄指定)

lr_get_transaction_duration 获取事务的持续时间(按事务的名称)

lr_get_transaction_think_time 获取事务的思考时间(按事务的名称)

lr_get_transaction_wasted_time 获取事务浪费的时间(按事务的名称)

lr_resume_transaction 继续收集事务数据以便进行性能分析

lr_resume_transaction_instance 继续收集事务实例数据以便进行性能分析

lr_set_transaction_instance_status 设置事务实例的状态

lr_set_transaction_status 设置打开事务的状态

lr_set_transaction_status_by_name 设置事务的状态

lr_start_sub_transaction 标记子事务的开始

lr_start_transaction 标记事务的开始

Lr_start_transaction("trans1");

lr_start_transaction_instance 启动嵌套事务(由它的父事务的句柄指定)

lr_stop_transaction 停止事务数据的收集

lr_stop_transaction_instance 停止事务(由它的句柄指定)数据的收集

lr_wasted_time 消除所有打开事务浪费的时间

lr_get_attrib_double 检索脚本命令行中使用的 double 类型变量

lr_get_attrib_long 检索脚本命令行中使用的 long 类型变量

lr_get_attrib_string 检索脚本命令行中使用的字符串

lr_user_data_point 记录用户定义的数据示例

(2)相关脚本:

lr_whoami 将有关 Vuser 脚本的信息返回给 Vuser 脚本

lr_get_host_name 返回执行 Vuser 脚本的主机名

lr_get_master_host_name 返回运行 LoadRunner Controller 的计算机名

lr_eval_string 用参数的当前值替换参数

lr_save_string 将以 NULL 结尾的字符串保存到参数中

lr_save_var 将变长字符串保存到参数中

lr_save_datetime 将当前日期和时间保存到参数中

lr _advance_param 前进到下一个可用参数

lr _decrypt 解密已编码的字符串

lr_eval_string_ext 检索指向包含参数数据的缓冲区的指针

lr_eval_string_ext_free 释放由 lr_eval_string_ext 分配的指针

lr_save_searched_string 在缓冲区中搜索字符串实例,并相对于该字符串实例,将该缓冲区的一部分保存到参数中

lr_debug_message 将调试信息发送到输出窗口

lr_error_message 将错误消息发送到输出窗口

lr_get_debug_message 检索当前消息类

lr_log_message 将消息发送到日志文件

lr_output_message 将消息发送到输出窗口

lr_set_debug_message 设置调试消息类

lr_vuser_status_message 生成带格式的输出,并将其写到 ControllerVuser 状态区域

lr_message 将消息发送到 Vuser 日志和输出窗口

lr_load_dll 加载外部 DLL

lr_peek_events 指明可以暂停 Vuser 脚本执行的位置

lr_think_time 暂停脚本的执行,以模拟思考时间(实际用户在操作之间暂停以进行思考的时间)

lr_continue_on_error 指定处理错误的方法

lr_continue_on_error (0);lr_continue_on_error ⑴;

lr_rendezvous 在 Vuser 脚本中设置集合点

TE_wait_cursor 等待光标出现在终端窗口的指定位置

TE_wait_silent 等待客户端应用程序在指定秒数内处于静默状态

TE_wait_sync 等待系统从 X-SYSTEM 或输入禁止模式返回

TE_wait_text 等待字符串出现在指定位置

TE_wait_sync_transaction 记录系统在最近的 X SYSTEM 模式下保持的时间

(3)Web函数:

web_custom_request 允许您使用 HTTP 支持的任何方法来创建自定义 HTTP 请求

web_image 在定义的图像上模拟鼠标单击

web_link 在定义的文本链接上模拟鼠标单击

web_submit_data 执行"无条件"或"无上下文"的表单

web_submit_form 模拟表单的提交

web_url 加载由"URL"属性指定的 URL

web_set_certificate 使 Vuser 使用在 Internet Explorer 注册表中列出的特定证书

web_set_certificate_ex 指定证书和密钥文件的位置和格式信息

web_set_user 指定 Web 服务器的登录字符串和密码,用于 Web 服务器上已验证用户身份的区域

web_cache_cleanup 清除缓存模拟程序的内容

web_find 在 HTML 页内搜索指定的文本字符串

web_global_verification 在所有后面的 HTTP 请求中搜索文本字符串

web_image_check 验证指定的图像是否存在于 HTML页内

web_reg_find 在后面的 HTTP 请求中注册对 HTML源或原始缓冲区中文本字符串的搜索

web_disable_keep_alive 禁用 Keep-Alive HTTP 连接

web_enable_keep_alive 启用 Keep-Alive HTTP 连接

web_set_connections_limit 设置 Vuser 在运行脚本时可以同时打开连接的最大数目

web_concurrent_end 标记并发组的结束

web_concurrent_start 标记并发组的开始

web_add_cookie 添加新的 Cookie 或修改现有的 Cookie

web_cleanup_cookies 删除当前由 Vuser 存储的所有 Cookie

web_remove_cookie 删除指定的 Cookie

web_create_html_param 将 HTML 页上的动态信息保存到参数中。(LR 6.5 及更低版本)

web_create_html_param_ex 基于包含在 HTML 页内的动态信息创建参数(使用嵌入边界)(LR 6.5 及更低版本)。

web_reg_save_param 基于包含在 HTML 页内的动态信息创建参数(不使用嵌入边界)

web_set_max_html_param_len 设置已检索的动态 HTML 信息的最大长度

web_add_filter 设置在下载时包括或排除 URL 的条件

web_add_auto_filter 设置在下载时包括或排除 URL 的条件

web_remove_auto_filter 禁用对下载内容的筛选

web_add_auto_header 向所有后面的 HTTP 请求中添加自定义标头

web_add_header 向下一个 HTTP 请求中添加自定义标头

web_cleanup_auto_headers 停止向后面的 HTTP 请求中添加自定义标头

web_remove_auto_header 停止向后面的 HTTP 请求中添加特定的标头

web_revert_auto_header 停止向后面的 HTTP 请求中添加特定的标头,但是生成隐性标头

web_save_header 将请求和响应标头保存到变量中

web_set_proxy 指定将所有后面的 HTTP 请求定向到指定的代理服务器

web_set_proxy_bypass 指定 Vuser 直接访问(即不通过指定的代理服务器访问)的服务器列表

web_set_proxy_bypass_local 指定 Vuser 对于本地 (Intranet) 地址是否应该避开代理服务器

web_set_secure_proxy 指定将所有后面的 HTTP 请求定向到服务器

web_set_max_retries 设置操作步骤的最大重试次数

web_set_timeout 指定 Vuser 等待执行指定任务的最长时间

web_convert_param 将 HTML 参数转换成 URL 或纯文本

web_get_int_property 返回有关上一个 HTTP 请求的特定信息

web_report_data_point 指定数据点并将其添加到测试结果中

web_set_option 在非 HTML 资源的编码、重定向和下载区域中设置 Web 选项

web_set_sockets_option 设置套接字的选项

Loadrunner参数(摘)的更多相关文章

  1. LoadRunner参数更新方法和数据分配

    参数化的定义:使用指定的数据源中的值来替换脚本录制生成的语句中的参数. 对Vuser脚本进行参数化的好处: 1.减小脚本的大小 2.提供了使用不同的脚本的值执行脚本的能力 参数化涉及两个任务: 1.用 ...

  2. loadrunner参数取值方法总结

    在参数设置位置有两个地方:Select next row –下一行的取值方式(针对用户)Sequential 顺序的,即所有用户都是按照同一种方式取值(都是按照Update value on方式取值, ...

  3. loadrunner参数使用总结

    使用loadrunner进行性能测试,在准备脚本阶段参数是不可避免要使用到的,现把参数的各种设置取值方式总结一下,方便日后查阅: update value on Sequential顺序取值下的取值结 ...

  4. LoadRunner 参数模拟——快速得到并发用户的进场规则

    LoadRunner 并发时,一般需要进入参数化 用户名或者相关的字段数据,用以满足在并发时无限的接近真实的使用场景: 但当你在设置好参数化的读取规则后,在执行并发场景时,用户并发加载顺序是否确实如你 ...

  5. LoadRunner 参数和变量的区别(未完)

    挺久没来更新了,坚持是件不容易的事呢,之后坚持每天总结下前一天的学习点 在LR中,参数是一种更高级的变量,他们能起到同样的效果,但同时也有几点不同 1. 定义方法不同 (这个还没看懂) 2. 调用语法 ...

  6. LoadRunner参数数组

    参数数组提供了对一类参数集中存放的机制,其中LR内置的几个函数有:lr_paramarr_idx().lr_paramarr_len().lr_paramarr_random() 同时参数数组必须满足 ...

  7. loadrunner 参数存储在data.ws、paralist、globals.h 中区别(参数与变量额区别于使用)

    1.如果变量数据只有一个值,可以直接放在data.ws 中    2.如果变量要根据循环取随机值.序列值等(参数存在一组值),放在paralist中     3.如果是申明全局变量,且要在代码中用到参 ...

  8. 如何学习LoadRunner性能测试?

    最近组内同事针对性能测试LR的脚本部分做了介绍,是个不错的分享.会后反思自己也有很长一段时间没做性能测试了,根据以往的经验,有必要做些整理和补充,本文主要介绍一些Loadrunner性能测试的学习方法 ...

  9. loadrunner 11问题汇总

    1.问题描述:安装loadrunner11后,录制脚本时,explore未打开,event为0,录制结果为空.安装环境是window7+ie8+loadrunner11 解决方案: 1.首先要把ie设 ...

随机推荐

  1. webpack-simple之vagrant热加载

    "dev": "cross-env NODE_ENV=development webpack-dev-server --host 192.168.2.10 --port ...

  2. maven的下载与安装,卸载替换eclipse自带的maven

    首先呢,博主在这里给大家一个建议,最好不要用eclipse自带的maven.因为这家伙总会出现一些这样那样的错误,比如常见的jar包下载不全或者是install打包报错等等. 博主用了一段时间,还是觉 ...

  3. Python将mongodb导出的bson文件转为字典对象

    Python将mongodb导出的bson文件转为字典对象 安装bson包, sudo pip install bson 示例 # 解决编码问题 import sys reload(sys) sys. ...

  4. 【HDU - 2102】A计划(bfs)

    -->A计划 Descriptions: 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验.魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的 ...

  5. Java多线程(五):死锁

    死锁 概念 当线程Thread-0持有锁Lock1,Thread-1持有锁Lock2,此时Thread-0申请Lock2锁的使用权,Thread-1申请Lock1锁的使用权,Thread-0和Thre ...

  6. 记2017青岛ICPC

    2017青岛ICPC 11月4日 早上很早到达了青岛,然后去报道,走了好久的校园,穿的很少冷得瑟瑟发抖.中午教练请吃大餐,吃完饭就去热身赛了. 开幕式的时候,教练作为教练代表讲话,感觉周围的队伍看过来 ...

  7. 在xcode中新建项目使用Image.xcassets时不显示自定义图片

    这个很简单,先在Images.xcassets中设置一个LaunchImage,然后再项目设置的general-->App Icons and Launch Images-->Launch ...

  8. kuangbin专题 专题二 搜索进阶 Nightmare Ⅱ HDU - 3085

    题目链接:https://vjudge.net/problem/HDU-3085 题意:有两个鬼和两个人和墙,鬼先走,人再走,鬼每走过的地方都会复制一个新鬼, 但新鬼只能等待旧鬼走完一次行程之后,下一 ...

  9. 后端访问sso后,如何返回前端vue页面(后端redirect跳转,vue代理,axios带参)

    由于项目要加上公司的sso,出现的一系列问题,找到解决办法,在此记录一下.可能并不适合其他项目,给个参考. 前提: 前端是vue.js,后端springboot sso配置需要增加公司自己的maven ...

  10. Python线程池ThreadPoolExecutor源码分析

    在学习concurrent库时遇到了一些问题,后来搞清楚了,这里记录一下 先看个例子: import time from concurrent.futures import ThreadPoolExe ...