【转】Loadrunner入门(《软件性能测试过程详解与案例剖析》)

loadrunner包含很多组件,其中最常用的有visual user cenerator(VuGen,主要用于对程序脚本的录制和参数的设置),controller(用于压力值设置和场景监视)和analysis(分析场景得出的结果)。使用loadrunner进行测试的过程可以表示为:第1步:计划测试;第二步:创建VU脚本;第三步:创建测试场景;第四步:运行测试场景;第五步:分析结果。

1. VuGen

VuGen可以创建用户脚本。

1.1 录制:使用录制功能或得到供测试用的最基本的脚本。

1.2 修改:测试人员需要按测试所需对脚本进行必要的调试和修改。

1.2.1 插入事务。将脚本中的某一重点操作,如登录等,定义为一个事务。这样,在运行测试脚本时,loadrunner运行到该事务的开始点时,lr就会开始计划,直到运行到该事务的结束点,计时结束。该事务的运行时间在analysis的结果中会体现出来。

1.2.2 插入集合点。这是为了衡量在加重负载的情况下服务器的性能情况。如要求系统能承受n人同时提交数据,则可在此处加入集合点。当运行到此处时,lr就会检查同时有多少用户在此等待,只有当人数达到n人时,才会继续执行集合点以下的脚本。

1.2.3 插入函数。VuGen中可以使用C语言中比较标准的函数和数据类型,语法和C语言相同。可以使用流程控制(if; for;while)、字符串函数、输出函数(lr_output_message)、和lr提供的标准函数(lr_eval_string、lr_save_string)

1.2.4 插入text/image检查点。在进行压力测试时,为了检查web服务器返回的网页是否正确,VuGen允许插入text/image检查点,这些检察点验证网页上是否存在指定的text或image,还可以测试在比较大的压力测试环境中,被测试的网站功能是否保持正确。

1.3 单机运行测试脚本。

2. Controller

controller用来创建和运行性能测试的场景(场景:根据性能要求定义每次测试期间发生的事件)。一个场景包括一些运行虚拟用户的负载机器(load machine)、一个测试脚本列表、场景本身的模式以及所设定的虚拟用户运行模式。lr中提供了两种不同的场景类型,分别是manual scenario 和 goal-oriented scenario。前者需要用户完全手动地设置场景,在该场景中需要指定每个脚本的虚拟用户数、每个用户的运行时间等信息。后者需要设定性能测试要达到的目标和虚拟用户的增长模式,当达到用户设定的目标后停止测试。

2.1 manual scenario

【选择Vuser Groups】 - 【添加虚拟用户数】 - 【添加load generator machines】 - 【设置脚本运行的shedule】 - 【设置集合点】-【run-time setting】

2.2 Goal-Oriented Scenario

与manual scenario相比,goal-oriented scenario有两个显著的差异。1)虚拟用户的分配是按照百分比形式而不是绝对用户数方式给出的。2)需要为场景设定一个goal。

2.3 lr的场景监视设置

lr提供了多种服务器、应用服务器、数据库的性能指标的监控能力,通过lr可以很方便地在性能测试过程中获取需要的性能计数器的值,并在后续的分析中利用lr提供的丰富报表功能对其进行处理。

3. Analysis

Lr提供了analysis应用对性能测试的结果进行辅助分析。anlysis应用可以根据用户在测试中获得的性能计数器数据生成各种图表,并提供对图表进行合并、分解等的功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向.NET开发人员的Dapr——目录

今天上午的主题就是Dapr,别错过了哦。本系列部分翻译自 .NET团队编写的Dapr for .NET Developers | Microsoft Docs(https://docs.microsoft.com/en-us/dotnet/architecture/dapr-for-net-developers/),大部内容复制于面向 .NET 开发人员的 Dapr | Micro…

人体工学腰垫,保腰神器,改善久坐腰酸背痛

▲数据汪特别推荐点击上图进入玩酷屋之前小木推荐“德国MINICUTE人体工学腰垫”受到了大家一致的好评和争相购买。小木为什么推荐这一款原因是:据统计,我国腰椎病患者已经突破2亿人。30~40岁人群中,患有颈腰椎病的占比59.1%!而且有…

和flag_不怕立Flag,就怕没有Flag

转眼间就已经是今年的最后一天了,回想去年给自己立下的flag,看着自己手机上的减肥计划和体测成绩上的超重,我陷入了沉思,到底是哪个环节出问题了呢?我慢悠悠地在宿舍里转圈,看见舍友递过来的薯片&#xff0…

对象androidandroid 开发中 如何取得ListView 的 每条Item 的对象

题记:写这篇博客要主是加深自己对对象android的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢。 首先写个ListView 的数据适配器,抽离出来,写一个对象,用来设置listView 每条Item 的 的…

面向.NET开发人员的Dapr——状态管理

目录:面向.NET开发人员的Dapr——前言面向.NET开发人员的Dapr——分布式世界面向.NET开发人员的Dapr——俯瞰Dapr面向.NET开发人员的Dapr——入门面向.NET开发人员的Dapr——参考应用程序The Dapr state management building blockDapr 状态管理构建基块Distributed…

为什么网易云音乐总能知道你喜欢听什么歌?背后的原理竟然如此简单!

全世界只有3.14 % 的人关注了数据与算法之美无处不在的数据分析谷歌的数据分析可以预测一个地区即将爆发的流感,从而进行针对性的预防;淘宝可以根据你浏览和消费的数据进行分析,为你精准推荐商品;口碑极好的网易云音乐&#xff0c…

判断小数是否相等_五年级上册数学综合练习题(填空、判断、选择、文字题),覆盖全册知识点!...

五年级上册判断题练习1、整数乘法的运算定律对小数乘法同样适用 .( )2、小数不一定比整数小。( )3、两个小数相除 ,如果商大于被除数 ,那么除数一定大于.( )4、两个数相除 ,商是 .8,如果除数缩小10倍,被除数不变 ,商是 0.8。( )5、小数乘法的意义与整数乘法的意义完全相…

NET问答: 为什么仅有 getter 的属性,还可以在构造函数中赋值 ?

咨询区 Noam B.:我建了一个这样的属性。public int Foo { get; } 毫无疑问,这是一个只读属性,当我在构造函数中无意对它赋值时,我发现居然可以改变它的值???比如下面的代码。public MyClass(str…

次优二叉树

在有序序列的查找中,如果各个元素的查找概率都是一样的,那么二分查找是最快的查找算法,但是如果查找元素的查找概率是不一样的,那么用二分查找就不一定是最快的查找方法了,可以通过计算ASL来得知。所以基于这种查找元素…

每日一笑 | 老板,黑凤梨真的能吃吗?

全世界只有3.14 % 的人关注了数据与算法之美(图片来源于网络,侵权删)

vue获取全局组件_Vue的全局组件

Vue是一个组件化开发的框架,一般我们在项目中使用组件的步骤是这样的。1.创建一个组件:比方说我们现在新建一个demo.vue文件,随便写一行代码。{{msg}}export default {data() {return {msg:只是新创建的一个组件}}}2.使用组件在我们需要使用组…

crontab执行shell脚本日志中出现乱码

使用nutch开源的搜索引擎抓取网页信息,通过计划任务crontab执行shell脚本,并将启动信息记录进日志文件,但是每次都会出现乱码,如图所示经过反复测试,排除了java程序问题,文件权限问题,系统字符集…

学好数学建模,走哪买菜都不怕!

随着新学期的开始,数学建模的热度也在逐步回温(据说大家开始了数学建模知识储备),常有小伙伴私聊小天咨询关于数学建模的事情。大大小小的数学建模比赛如火如荼开展着,而如何快速掌握数学建模,做好充足的准…

shell最大出现和连续出现次数_shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)...

当服务器压力比较大,跑起来很费力时候。我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时。 找到那些访问次数高,并且比较耗时的地址,就行相关优化,会取得立竿见影的效果的。 下面是我…

[翻译]Go与C#的比较,第二篇:垃圾回收

Go vs C#, part 2: Garbage Collection | by Alex Yakunin | ServiceTitan — Titan Tech | Medium目录译者注什么是垃圾回收?什么是GCBurn?峰值分配吞吐量("速度测试")GCBurn 测试GC Burn测试结果结论.NET CoreGo两者…

写在《ASP.NET MVC 4 Web 编程》即将出版之际!献给有节操的程序员!

《Programming ASP.NET MVC 4》中文版即将上市了!非常荣幸我可以再次参与一本不错的技术书籍的翻译工作。 这也是在《WCF技术内幕》与《WCF服务编程》第三版之后,翻译的第三本书。此书由世界上最著名的计算机出版社Oreilly出版,中文版本由华中…

日本码农为了萝莉,竟然在GitHub上做这种事,“警察,快来抓我啊!”

全世界只有3.14 % 的人关注了数据与算法之美近日,日本刈谷市警方抓了一名13岁的小女孩,原因是“她将一段恶意代码的链接放到了网上,导致一千多台电脑系统崩溃。”其实,这就是一个入门级的恶作剧无限弹窗而已,只要你点了…

10玩rust_C++工程师的Rust迁移之路(5)- 继承与组合 - 下

2020-11-25 更新:修正了C 20中的concept语法在上一篇文章 https://zhuanlan.zhihu.com/p/76740667 中,我介绍多态、静态分发和动态分发的概念,以及他们各自在C和Rust中的实现方式。在本文中,我会重点讲Rust中的Trait实现的静态分发…

带老弟做个实时排行榜

阿巴可懂的实时排行榜设计和实现思路。大家好,我是鱼皮,暑假快到了,我的老弟小阿巴听说我家有很多好康的,就跑来找我玩。结果我摆出了几个以前开发过的小系统,准备在这段时间带着小阿巴多做些作品,学习编程…

c++ memcpy与strcpy的比较

1:区别memcpy可以拷贝任何数据类型的对象,指定拷贝的数据长度。strcpy只能拷贝字符串了,它遇到\0就结束拷贝2:性能static inline char *__kernel_strcpy(char *dest, const char *src){char*xdest dest;asmvolatile("\n&quo…