百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

LoadRunner性能测试系统学习教程:工具介绍(上)

cac55 2024-09-26 07:27 15 浏览 0 评论

引言

在使用LoadRunner进行性能测试时,需要先了解LoadRunner的工作原理、工作过程和内部结构,这样可以对其有一个整体的了解和概要的认识。

主要包括以下内容:

LoadRunner简介

LoadRunner工作原理

LoadRunner工作过程

LoadRunner内部结构

LoadRunner性能测试步骤

LoadRunner简介

LoadRunner是一种预测系统行为和性能的负载测试工具。以模拟上千万用户并发负载并实时监测系统性能的方式来确认和查找问题。LoadRunner能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

目前企业的网络应用环境都必须支持大量用户同时访问,网络体系架构中包含各类应用环境及由不同供应商提供的软件和硬件产品,难以预知的用户负载和愈来愈复杂的应用环境使公司不得不担心会发生用户响应速度过慢、系统崩溃等问题,从而导致公司收益的损失。

MercuryInteractive的LoadRunner能让企业保护自己的收入来源,在无需购置额外硬件的情况下最大限度地利用现有的资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量、可靠性和可扩展性都有良好的评价。

LoadRunner具有的特点

1.按需生产工作量

HPLoadRunner能够驱动成百上千个虚拟用户、执行不同的业务流程、模拟已部署应用程序将要面临的生产条件。这有助于您在投入使用前发现性能和可扩展方面的瓶颈,从而防止它们在投入生产时表现出来。它有助于您极大地降低生产停机时间和不良的性能,使您更加容易达到服务等级和正常运行要求。

2.企业环境支持

VirtualUsers后,测试过程便自动化了。

HP提供广泛的测试环境,支持多种协议和平台。HPLoadRunner现在支持60种以上的协议。其中包括Web、J2EE、.NET、XML、SAP、Siebel、Oracle、PeopleSoft、无线、Citrix和客户端/服务器应用程序。因部署的应用程序类型从客户端/服务器变为Web和Java,故可使用相同的工具来进行性能测试。它提供一个一致的工具和一套员工技能,即使应用程序随时间而改变也如此。它也使得降低总体拥有成本(TCO)成为可能。

3.企业监控支持

HPLoadRunner拥有非侵入性的实时性能监视程序,可提供被测系统所有部分的详细指标。这包括Web服务器、应用程序服务器、数据库、企业资源规划(ERP)和CRM系统、防火墙和负载平衡器。HPLoadRunner可识别硬件局限和软件配置问题,这些问题在其他情况下可能不会被检测到。

4.诊断

HPLoadRunner可跟踪、即使处于负载情况下的单独应用程序组件,并可排除故障。您可从缓慢的最终用户交易着手,深入查明导致变慢的瓶颈方法或SQL语句。这种详细的结果有助于每个负载测试向开发人员提供最终可采取的行动,减少优化J2EE、Siebel和Oracle部署所需的成本和时间。

5.自动分析

HPLoadRunnerAutoCorrelation向导会自动整理所有的监控和诊断数据,并计算导致性能降低的最主要的五个原因。可将性能测试结果转化为可处理的精确数据,从而使开发团队大大减少了解决时间,并允许执行更多的测试周期。这会帮助您将高质量的应用程序投入生产

6.简易使用

HPLoadRunner是从底层为QA用户构建的。它提供可视化脚本语言、数据和AutoCorrelation向导以及ActiveScreen技术,使得编写脚本和运行负载测试简单易行。因此带来更短的起步时间、更快的ROI以及在数周培训之内就能进行性能测试。

7.高度可扩展性

HPLoadRunner对于在有限的硬件条件下的高度可扩展性来说,每个虚拟用户需要较低的CPU和内存资源。这有助于降低实施过程中潜在的硬件成本。

8.统一的脚本引擎

HPLoadRunner与HPBusinessAvailabilityCenter软件具有相同的脚本引擎。

这将帮助您降低培训成本、脚本开发成本以及HP软件TCO(Totalcostofownership,总体成本)。

LoadRunner工作原理

从宏观的角度了解LoadRunner的总体框架、LoadRunner四大组件是如何工作的以及它们之间是如何通信的。

LoadRunner由四大组件组成:VuGen、控制器、负载发生器和分析器。

各组件之间的关系如图

1. VuGen发生器(VisualUserGenerator,VuGen):

它的作用是捕捉用户的业务流,并最终将其录制成一个脚本。在录制脚本前首先选择一种协议(脚本录制前如何选择协议的内容在后面章节中会详细讲述);接着在客户端模拟客户实际使用过程中的业务流程,并录制成一个脚本;然后编辑脚本和设置Run-TimeSettings项;最后VuGen通过对脚本的编译生成一个没有错误的可运行的脚本。

2. 控制器(Controller):控制器部分包含两大作用

第一:设计场景。脚本编辑完成后,必须对脚本如何运行设计一种策略。场景设计主要包括手动场景设计和目标场景设计两种方式;

第二:场景监控。控制器可以实时监控脚本运行的情况。可以通过添加计数器来监控Windows资源、应用服务器和数据库使用情况。

场景设计的目的是设计出一个最接近用户实际使用的场景,场景设计越接近用户使用的实际情况,测试出来的数据就越接近真实值。否则测试出来的数据是不可靠的,到系统上线时可能还是会出现性能问题,场景设计也涉及很多技巧,如IP欺骗、负载均衡等一些手段。

执行实时监控更多的是对资源使用情况的监控,以检测这些系统资源是否可能存在瓶颈。

3. 负载发生器(LoadGenerators):模拟用户对服务器提交请求。

正常情况下,在性能测试过程中会将控制器和负载发生器分开,即控制器使用一台独立的机器,为什么会这样做呢?因为在进行脚本编辑时会产生大量的参数化文件,而这些参数化文件会占用系统资源,再者就是运行时会产生大量的日志文件,所以在测试过程中一般都会将控制器与负载发生器分开;最主要的原因是因为在模拟成百上千的虚拟用户进行性能测试时,每个虚拟用户都是需要消耗系统资源的,如果虚拟的并发用户过多,会导致测试机出现瓶颈。

负载发生器的计算:在测试时,需要计算测试过程中需要使用多少台负载发生器才算是合理的,任何一台计算机所能支持的虚拟用户数都有一个上限值,如果在测试过程中需要测试的并发虚拟用户数超过计算机所能支持的最大虚拟用户数,这时测试的负载机本身也就成为性能的瓶颈。每个虚拟用户运行时需要占用一定的系统内存资源,具体的值可以从官方文档中获得,通过这个值可以计算出一台计算机最多可以支持多少个虚拟用户。例如,假设负载发生器的计算机使用的内存容量为512MB,在测试过程中每个虚拟用户需要的内存资源大概为2.5MB,那么这台计算机最多只能支持200个虚拟用户并发测试,如果需要测试500个虚拟用户并发,那么就需要两台计算机。

需要注意的是当使用多台负载发生器时,一定要保证负载均衡。负载均衡是指在进行性能测试的过程中,保证每台负载发生器均匀地对服务器进行施压。如果负载处于不均衡的情况,那么在测试过程中,有的负载机很忙,而有的负载机又处于很闲状态,这样测试出来的值是不可靠的。

4. 分析器(Analysis):一个数据分析工具,主要用于对测试结果进行分析。Analysis分析器中提供了很多基础的数据,但是仅仅依靠这些基础的数据是不够的,客户看到这样的报告也不会满意。在这里涉及到很多分析技术,常用的分析技术有:合并、叠加、页面细分和钻取技术等,这些技术在后面会进行详细的描述。Analysis的另一个优点就是它本身提供了很多报告的形式,包括XML、Word等,这是LoadRunner做得比较出色的一部分。

以上是LoadRunner四大组件的作用和特点。

LoadRunner工作过程

LoadRunner的四大组件有着各自的作用和特点,但只有将这四大组件联系起来,才能更好地去完成性能测试工作 ,如图:

第一步:很多朋友可能会错误的认为LoadRunner工作的第一步应该是从VuGen开始,但其实LoadRunner在性能测试过程中首先是从控制器开始的,从名字中不难看出,控制器的意思为整个系统的核心,控制着其运行与停止。控制器包括两部分场景设计和场景监控,通过设计控制器中的场景设计性能测试脚本运行的策略,同时在脚本运行过程中监控性能测试的相关指标。

第二步:确定执行策略后,控制器将控制负载机去产生压力,模拟成百上千的虚拟用户去运行脚本,那么负载机如何知道需要执行哪些脚本?以及执行脚本的策略呢?在控制器初始化时,控制器会向负载机发送一个二进制文件,在该文件中记录着如何运行脚本的信息。

第三步:控制器收集测试过程中的相关数据,在控制器执行脚本场景时,控制器会收集测试过程中相关的一些数据,并将这些数据保存在Access数据库中。

第四步:结果分析。当场景执行测试结束后,会生成一些分析结果的数据,这时测试工程师需要对这些数据进行分析,如果结果能满足需求,那么说明系统性能满足需求,反之,就有可能需要多次进行实验,来找到性能瓶颈并向开发工程师提出解决的建议和性能调优的建议。

相关推荐

博科矩阵新IP网络推动发展OTT服务

近日消息,日本电信服务提供商软银集团正在部署博科VDX交换机,为集团公司通用服务基础架构网络提供以太网矩阵,从而简化数据中心运营。这个新的基础架构将大幅度降低软银数据中心网络运营的复杂度和成本,使该公...

博科SDN战略落地 首款控制器Vyatta面世

ZDNET网络频道10月10日评论消息(文/于泽):虽然软件定义网络(SDN)近两年被炒得很热,但一直属于雷声大雨点小。各网络厂商都声称自家的交换机能够支持OpenFlow协议、实现SDN,不过就...

博科网络矩阵助Skilled Group“时刻在线”

澳大利亚最大的劳动力解决方案提供商SkilledGroup采用博科以太网和光纤通道存储区域网络(SAN)矩阵部署了一个创新的网络,从而打造了一个“时刻在线”的IT基础架构。博科矩阵实现了零停机环境以...

博科基于OpenDaylight推出SDN控制器Vyatta

ZDNET网络频道09月23日编译:博科周一宣布推出Vyatta控制器。Vyatta是博科SDN产品系列中一个新的主打产品。博科表示,Vyatta控制器是一步一步的从OpenDaylight项目中...

浏览器https方式访问博科FC光交显示没有匹配的加密算法套件

浏览器https方式访问博科FC光交显示没有匹配的加密算法套件报错的解决办法。。------------------------------------------------------------...

博科携手VMware推动软件定义数据中心和网络虚拟化的普及

2014年10月14日--博科(NASDAQ:BRCD)今天宣布,公司携手VMware,推出支持新IP的解决方案,以期让企业能够更轻松地迁移到软件定义数据中心(SDDC)和使用网络虚拟化。博科公司...

博科公司为追求速度极致的闪存拥趸提供光纤通道交换机

博科公司已经发布了一款每秒32Gbit第六代光纤通道交换机,这意味着其能够将现有每秒16Gbit连接速度提升一倍。其G620交换机采用1U机箱,提供24到64个端口,据博科方面所言这已经达到当前业...

博科推出第6代交换机 扩大光纤存储地位

博科今天宣布推出业内第一台第6代光纤通道存储网络交换机——博科G620,进一步扩大了博科在光纤通道技术领域的地位。这一全新专用且高密度SAN交换机提供突破性的性能和高可扩展性,旨在支持来自核心应用的数...

微信官宣新功能上线,聊天记录备份、迁移更好用了!

说到手机里哪个App最占空间,很多用户的答案大概都是微信,动辄占用几十甚至上百GB。不仅App本身体积庞大,更主要的是日积月累的聊天记录导致了空间的迅速消耗。此前,释放微信空间的常用方法是将...

局域网沟通工具--BeeBEEP(局域网内部聊天工具)

原文链接:局域网沟通工具--BeeBEEPHello,大家好啊!今天给大家带来一篇关于在信创终端上使用BeeBEEP的文章。BeeBEEP是一款安全、便捷的局域网即时通讯工具,支持文字聊天、文...

企业 IM 即时通讯底座,支持局域网通讯

在数字化浪潮下,企业对即时通讯的需求日益增长,尤其是对通讯安全性、可控性的要求愈发严苛。BeeWorks作为专业的企业IM即时通讯底座,凭借对局域网通讯的支持,为企业打造了优质可控的即时通讯与实...

IM即时通讯软件,构建企业局域网内安全协作

安全与权限:协同办公的企业级保障在协同办公场景中,BeeWorks将安全机制贯穿全流程。文件在局域网内传输与存储时均采用加密处理,企业网盘支持水印预览、离线文档权限回收等功能,防止敏感资料外泄;多人...

当今信息化时代都离不开WLAN, 今天给大家普及一下WLAN知识

无线局域网(WirelessLocalAreaNetworks/WLAN)一.无线让网络使用更自由:1.凡是自由空间均可连接网络,不受限于线缆和端口位置。二.无线让网络建设更经济:1.终端...

软网推荐:寻找WebQQ替代者 在线可以继续聊

不少公司禁止上班聊天,常常采取封禁QQ、关闭端口等方法,导致很多聊天软件无法使用。以前我们可以通过WebQQ绕开限制,不过WebQQ在2019年1月1日开始停止服务,想要继续隐蔽聊天,就只能找其他一些...

搭建自己的聊天室平台、公司内部聊天平台,Rocket.Chat搭建使用

一,简介rocket.chat是一个开源的社交软件,即可以直接在web页面使用,也可以下载APP(Android,IOS,Windows,MacOS)主要功能:群组聊天,直接通信,私聊群,桌面通知...

取消回复欢迎 发表评论: