【LoadRunner美学原理】loadrunner常见难点集中

LoadRunner常见难点
1.LR 脚本为空的消除措施:

1.去掉ie设置中的第三方帮衬撤除掉

2.在系统质量-高级-质量-数据实施爱惜中,添加loadrunner安装目录中的vugen.exe文件.

有大概是出于视频的URL地址选用的是localhost的标题,改成分配的IP地址或127.0.0.1试跳。

3、插入文本检查点步骤时,使用web_reg_find,经常TextPfx和TextSfx中会包含双引号,必要开展转义(用斜杠),例如:

web_reg_find(“Search=Body”,

“SaveCount=Welcome”,

“TextPfx=欢迎<a class=\”drop\” id=\”viewpro\”
onMouseOver=\”showMenu(this.id)\”>”,

“TextSfx=</a>”,

LAST)

2、蒙受flight界面为空的消除的可能方法:

1、若是设置了IE以外的浏览器,并且IE不是专断认同浏览器,则不或许生成录像脚本

2、如若录像脚本时IE无法开拓,则要求将浏览器的IE工具高级选项中,将“启用第三方浏览器扩充”的

勾选去掉

3、lr自带的webtours系统,如若点击Flights选项,出现空白页面,请检查本机oracle的
PERL5LIB环境

2.LoadRunner视频脚本时怎么不弹出IE浏览器?

  当一台主机上设置三个浏览器时,LoadRunner摄像脚本常常遇上不可以开拓浏览器的情事,能够用下边的法子来消除。

  启动浏览器,打开Internet选项对话框,切换来高级标签,去掉“启用第三方浏览器增加(必要重启动)”的勾选,然后再次运行VuGen即可消除难点

  指示:平常设置Firefox等浏览器后,都会勾选上边得拔取,导致不大概正常视频。由此指出运行LoadRunner得主机上保持一个根本的测试环境。

3.HTML-based script与URL-based
script的剧本有如何分歧?

动用“HTML-based
script”的形式录像脚本,VuGen为用户的种种HTML操作生成独立的步骤,这种本子看上去相比直观;

运用“URL-based
script”格局摄像脚本时,VuGen能够捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的各样请求分别生成对应措施。

  平时,基于浏览器的Web应用会采纳“HTML-based
script”形式来摄像脚本;而从未基于浏览器的Web应用、Web应用中隐含了与服务器举办交互的Java
Applet、基于浏览器的行使中涵盖了向服务器进行通讯的JavaScript/VBScript代码、基于浏览器的使用中使用了HTTPS安全磋商,这时使用“URL-based
script”格局进行视频。

4.运转时的Pacing设置重大影响如何?

 
Pacing首要用来设置双重迭代脚本的间隔时间。共有三种办法:A:上次迭代甘休后当即起头、
B:上次迭代甘休后等待固定时间、C:按一定或私行的光阴距离开始履行新的迭代。

 依据实际须要安装迭代即可。平常,没有时间间隔会生出更大的压力。

   5.运转时设置Log标签中,假如没有勾选“Enable
logging”,则手工音讯可以发送吗?

  Enable
logging选项仅影响机关日志记录和通过lr_log_message发送的信息。纵然没有勾选,虚拟用户脚本中一经接纳lr_message、lr_output_message、lr_error_message,依然会记录其发出的音信。

美学原理,   6.VuGen援助Netscape的客户证书吗?

  不协理。近期的VuGen 8.0本子中仅支持Internet
Explorer的客户端证书。录像脚本时得以先从Netscape中导出所需的证件,然后将其导入到Internet
Explorer中,并保管以同样的依次导出和导入这一个证件。而且,在每台将要摄像或运行须要表明的Web
Vuser脚本的微处理器上都要双重执行前边的长河。

   7.VuGen会修改摄像浏览器中的代理服务器设置吗?

  会修改。在初步录像基于浏览器的Web
Vuser脚本时,VuGen首先会启动指定的浏览器。然后,VuGen会指示浏览器访问VuGen代理服务器。为此,VuGen会修改摄像浏览器上的代理服务器设置。暗中同意情况下,VuGen会立时将代理服务器设置更改为Localhost:7777。摄像过后,VuGen会将原本代理服务器设置还原到该录像浏览器中。由此,在VuGen举办摄像的历程中,不可以更改代理服务器设置,否则将无法正常开展。

   8.在LoadRunner脚本如何输出当前系统时间?

  LoadRunner提供了char *ctime(const time_t
*time)函数,调用参数为一个Long型的平头指针,用于存放再次来到时间的数值表示。

  调用语句与重回值如下示例:

  typedef long time_t;

  Action()

  {

  time_t t;

  lr_message(“Time in seconds since 1/1/70: %ld\n”,time(&t));

  lr_message(“System time and date: %s”,ctime(&t));

  }

  输出结果为:

  Time in seconds since 1/1/70: 1185329968

  System time and date:Wed Jul 25 10:19:28 2007

  9.局地Web虚拟用户脚本视频后及时回看没有任何难题,不过当设置迭代次数超越1时,如果展开回看则不得不成功迭代两次。为啥从第二次迭代起来发生错误?

  那种场面多是出于在“Run-time Setting”的“Browse
Emulation”的设置中,勾选了“Simulate a new user on each
iteration”及其上边的选项“Clear cache on each
iteration”那七个拔取的意思是历次迭代时模拟一个新的用户及每一次迭代时去掉缓存。

  由于剧本迭代时,init和end只好进行一遍,要是老是迭代都仿效一个新的用户并免除缓存,则用户登录音讯将一并清除,由此迭代时只怕会生出错误。

  10.虚拟客户脚本“Run-time
Setting”中的线程和进程运行模式的界别?

  假使拔取“Run Vuser as a
process”,则场景运行时会为每个虚构用户成立一个进程;选拔“Run Vuser as a
thread”则将各样虚拟用户作为一个线程来运作,在职分管理器中只看到一个mmdrv.exe,那种方法的运转成效更高,能招致更大的压力,时暗许选项。

  其余,如若启用了IP欺骗成效,则先在Controller中选中Tools菜单下的“Expert
Mode”,然后将Tools菜单下的“Options>General”标签页中的IP地址分配方式也设置为与Vuser运行格局一样,同为线程或进度格局。

  11.在Controller中运行Web相关测试场景时,常常会有成百上千逾期错误指示,怎样处理那类难点?

  那紧要有脚本的暗中同意超时设置引起。当回放Web脚本时,有时候是因为服务器响应时间较长,会暴发超时的不当。那时须求修改剧本的运作时布署。

  进入“Run-time Setting”对话框后,依次进入“Internet
Protocol→Preference”。然后点击“Options…”按钮,进入高级设置对话框,可以修改各样超时设置的暗中同意值。

  13为何Windows系统中的CPU、内存等资源依旧丰富,不过模拟的用户数量却上不去-27796?

 
 在Windows统计机的正式设置下,操作系统的暗中同意限制只可以动用几百个Vuser,那几个范围与CPU或内存无关,紧假诺操作系统自己规定了私行认同的最大线程数所导致。要想突破Windows这些限制,须修改Windows注册表。以Windows
XP Professional为例。

 
 (1)打开注册表后,进入注册表项HKEY_LOCAL_MACHINE中的下列关键字:System\CurrentControlSet\Control\Session
Manager\SubSystems。

  (2)找到Windows关键字,Windows关键字如下所示:

  %SystemRoot%\system32\csrss.exe bjectDirectory=\Windows

  SharedSection=1024,3072,512 Windows=On SubSystemType=Windows
ServerDll=basesrv,1

  ServerDll=winsrv:UserServerDllInitialization,3
ServerDll=winsrv:ConServerDllInitialization,2

  ProfileControl=Off MaxRequestThreads=16

  SharedSection=1024,3072,512重中之重字的格式为xxxx,yyyy,zzz。其中,xxxx定义了系统范围堆的最大值(以KB为单位),yyyy定义各个桌面堆得大小。

   (3)将yyyy的设置从3072改成为8192(即8MB),扩充SharedSection参数值。

因此对注册表的更改,系统将同意运行越来越多的线程,因此可以在总计机上运行越多的Vuser。那意味能够模拟的最大出现用户数量将不受Windows操作系统的限量,而只受硬件和内部可伸缩性限制的自律。

14.Error -27728: Step download timeout (120
seconds)的消除格局

loadruner报错:Error -27728: Step download timeout (120
seconds)怎么着消除语法检查通过,不过在产出执行一个查询时候报错Action.c(16):
Error -27728: Step download timeout (120 seconds) has expired when
downloading non-resource(s),
请问有什么子消除措施,我利用web_set_timeout
,好象不起作用,直接在option中设置timeout时间为600,(单位应当是秒吧)仍旧没有起成效,结果都照旧指示(120seconds),表明或许以120秒来判定的;使用lrs_set_recv_timeout,语法检查只是,表明库函数里面没有那么些函数。尝试步骤:设置超时时间到600秒,重放如故出错。后来本人设置了runt
time setting中的internet
protocol-preferences中的advaced区域有一个winlnet replay instead of
sockets选项,选项后再回看就马到功成了。

首先LR是通过Microsoft WinInet
DLL去视频web磋商的!不过在Control运行的时候它默许通过socket去模拟请求,因为那一个足以真正的上行下效带宽,而拔取Microsoft
WinInet
DLL通过那一个DLL去访问网卡方式去模拟带宽,使得模拟不是很确切!而且也不帮忙unix的利用,然而选拔这几个真的有时不可以处理winnet
Dll的片段呼吁,我认为是它的片段BUG,比如说:回看时它会检查Content-Length,不过网页扶助receive
more
data时,这时socket模拟会一贯等待直到timeout!先说了部分优缺点,最终回到这些题材!这一个题材分五个方面剖析:

第一:你要了然web_set_timeout()这些函数的适用范围!比如说一个web_submit_data()中实际涵盖了10个对Server
端的乞求,那么些函数是针对性10个请求的总数时间的!(别犯低级错误,timeout分了connect,receive以及download多个部分:)
) 第二:就是自己表明的方面的局地BUG难点!WinInet
dll在新本子中拍卖请求时得以异步的,就是不再是那种连接等待接下来超时情势!然则LR用的socket是联合请求!只有等到timeout才会退出!microsoft已经威名昭著表示INTERNET_OPTION_RECEIVE_TIMEOUT
不再适用于 Microsoft Internet Explorer
5.0,不言而喻,他们处理请求选择了异步处理的措施!呵呵!那下大致可以圆满解释你的题材了!呵呵那里,

自个儿补偿如下:VuGen专用的基于套接字的回看是一种可伸缩以便进行负荷测试的轻型引擎。使用线程时是纯粹的。基于套接字的引擎不帮忙socks代理服务器。借使在那样的环境中视频,应该使用winInet重放引擎。

15.品质测试往往须要预备大量的多寡,大量数据的生成方法有成百上千种,常见的有:

(1)编写SQL语句来插入数据

(2)使用DataFactory等正规的多寡变化工具

(3)通过LoadRunner录像回放的不二法门再一次执行生成大量数额

Tips:

应用DataFactory插入nchar数据类型的多少时会出现空值的事态,可以先修改数据库的数据类型设置,插完数据后再改回来

 

16.视频本子中富含普通话,出现乱码如何是好?

把视频选项中的Support charset选中UTF-8

录像脚本后,切换来树视图中,打开相应的剧本页面。在右手的PageView中录像的台本显示汉语版式,不过当切换来Server
Response中,所有的国语全体换成的乱码,如“勌缞仫訆”。

缘由是劳动器端没有把响应的编码设置为gb2312

在IIS中找到Web.Config文件,在<system.web>….</system.web>节参预<globalization
requestEncoding=”gb2312″ responseEncoding=”gb2312″
fileEncoding=”gb2312″/>后重新录像脚本,乱码变中文。

17.LoadRunner回看剧本时,在浏览器呈现的中文是乱码

消除办法(1):

第一设置Run-Time Settings – Browser – Browser Emulation – User-Agent

下一场设置IE:

翻开-编码-钩上“自动接纳”和Unicode(UTF-8)。

消除办法(2):

使用lr_convert_string_encoding函数来更换编码

上面是一个利用的例证:

lr_convert_string_encoding(lr_eval_string(“{ReplyContents}”),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,”ReplyMessage”);

web_submit_data(“postreply.aspx_2”,

“Action=http://127.0.0.1/postreply.aspx?infloat=1&topicid=2&&inajax=1“,

“Method=POST”,

“EncType=multipart/form-data”,

“RecContentType=text/xml”,

“Referer=http://127.0.0.1/showtopic-2.aspx“,

“Snapshot=t9.inf”,

“Mode=HTML”,

ITEMDATA,

“Name=iconid”, “Value=0”, ENDITEM,

“Name=title”, “Value=”, ENDITEM,

“Name=wysiwyg”, “Value=0”, ENDITEM,

“Name=checkbox”, “Value=0”, ENDITEM,

“Name=message”,
“Value=[localimg=180,112]1[/localimg]\r\n\r\n{ReplyMessage}”,
ENDITEM,

“Name=e_mediatyperadio”, “Value=on”, ENDITEM,

“Name=sl_attachdesc”, “Value=”, ENDITEM,

“Name=attachid”, “Value=”, ENDITEM,

“Name=attachdesc”, “Value=”, ENDITEM,

“Name=localid”, “Value=”, ENDITEM,

“Name=attachdesc”, “Value=”, ENDITEM,

“Name=localid”, “Value=1”, ENDITEM,

“Name=attachdesc”, “Value=”, ENDITEM,

“Name=localid”, “Value=2”, ENDITEM,

“Name=emailnotify”, “Value=on”, ENDITEM,

“Name=postreplynotice”, “Value=on”, ENDITEM,

“Name=postfile”, “Value=”, “File=Yes”, ENDITEM,

“Name=postfile”, “Value=D:\\\\图形收集\\\\It’s about time.JPG”,
“File=Yes”, ENDITEM,

“Name=postfile”, “Value=”, “File=Yes”, ENDITEM,

“Name=uploadallowmax”, “Value=10”, ENDITEM,

“Name=uploadallowtype”, “Value=jpg,gif”, ENDITEM,

“Name=thumbwidth”, “Value=300”, ENDITEM,

“Name=thumbheight”, “Value=250”, ENDITEM,

“Name=noinsert”, “Value=0”, ENDITEM,

LAST);

18.方可在LR测试脚本的目录中找到参数文件,直接改动参数文件

The parameter file is stored in the script directory as .dat file
extension. It can be opened with a simple text editor like Notepad as it
is stored in pure text format. Therefore, you can manipulate the files
via the Notepad. You can also use office applications such as Microsoft
Excel or OpenOffice.org Calc to work on the file. This greatly the
amount of work required for maintaining a long list of data.

19.LR9.x启动VUGen时提示”Failed to connect
to server”

After upgrading to LoadRunner 9.x I started getting a window popup which
said “Failed to connect to server” every time I opened virtual user
generator (vugen.exe).

The solution to this was to close virtual user generator and delete the
[vugen.ini] file.

vugen.ini is found in the %systemroot% folder on your Windows PC
(usually C:\WINDOWS or C:\WINNT).

Once you’ve deleted the file, virtual user generator will open without
any issues and create a new vugen.ini file automatically.

20.怎么着抓取有平等左右境界的动态value?

怎么抓取有同样左右境界的动态value?例如:

stateID=”d7lg0ehmjkkm6uin3s4boei7oq”>

stateID=”cvopakp46ftsf8mh6l37ti3ubm”>

stateID=”bv9mja8gtgr39ddibm5t9163re”>

web_reg_save_param里的ORD应该怎么着设置?

ORD: Indicates the ordinal position or instance of the match. The
default instance is 1. If you specify “All,” it saves the parameter
values in an array.

例子:

char outFlightParam[50]; // The name of the parameter for correlation

char outFlightParamVal[50]; // The formatted value of outFlightParam

web_reg_save_param(“outFlightVal”,

“LB=outboundFlight value=”, “RB=>”,

“ORD=ALL”,

“SaveLen=18”,

LAST);

web_submit_form(“reservations.pl”,

“Snapshot=t4.inf”,

ITEMDATA,

“Name=depart”, “Value=London”, ENDITEM,

“Name=departDate”, “Value=11/20/2003”, ENDITEM,

“Name=arrive”, “Value=New York”, ENDITEM,

“Name=returnDate”, “Value=11/21/2003”, ENDITEM,

“Name=numPassengers”, “Value=1”, ENDITEM,

“Name=roundtrip”, “Value=<OFF>”, ENDITEM,

“Name=seatPref”, “Value=None”, ENDITEM,

“Name=seatType”, “Value=Coach”, ENDITEM,

“Name=findFlights.x”, “Value=83”, ENDITEM,

“Name=findFlights.y”, “Value=16”, ENDITEM,

LAST);

sprintf(outFlightParam, “{outFlightVal_%s}”,

lr_eval_string(“{outFlightVal_count}”));

sprintf(outFlightParamVal, “Value=%s”,

lr_eval_string(outFlightParam));

lr_message(“The value argument is : %s”, outFlightParamVal);

web_submit_form(“reservations.pl_2”,

“Snapshot=t5.inf”,

ITEMDATA,

“Name=outboundFlight”,outFlightParamVal, ENDITEM,

“Name=reserveFlights.x”, “Value=92”, ENDITEM,

“Name=reserveFlights.y”, “Value=10”, ENDITEM,

LAST);

21.运作处境时指示“Step download timeout
(120 seconds) has expired when downloading resource(s)”

vuser_init.c(12): Error -27728: Step download timeout (120 seconds) has
expired when downloading non-resource(s)(出现个别,可以忽略)

vuser_init.c(12): Error -27727: Step download timeout (120 seconds) has
expired when downloading resource(s). Set the “Step Timeout caused by
resources is a warning” Run-Time Setting to Yes/No to have this message
as a warning/error, respectively

vuser_init.c(12): Error -27796

若果认为下载一个页面当先2分钟不是不当的话,可以在Run-提姆e设置中甄选Preferences->Options,修改Step
download timeout(sec)的小时

 

只怕把“Step timeout caused by resources is a
warning”设置为Yes,那样下载资源超时也只是用作警示,不作为错误提醒,不过对于非资源的下载超时,则连接会唤醒错误的

 

22.用strtok函数分割字符串

内需在loadrunner里面得到“15”(下边黄绿高亮的一部分),并做成关联参数。

//Body response 内容: <BODY><;
PRE>//OK[8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1

用web_reg_save_param取出“8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1”这一段,然后用strtok函数切割出一个个数字,第多个数字就是要找的值

例如:

extern char * strtok(char * string, const char * delimiters ); //
Explicit declaration

char separators[] = “,”;

char * token;

lr_save_string(“1,2,3,4,5,6″,”str”);

token = (char *)strtok(lr_eval_string(“{str}”), separators); // Get
the first token

if (!token) {

lr_output_message (“No tokens found in string!”);

return( -1 );

}

while (token != NULL ) { // While valid tokens are returned

lr_output_message (“%s”, token );

token = (char *)strtok(NULL, separators); // Get the next token

}

23.LoadRunner从未有过购置webservice合计的license,唯有http的,可不得以完全用http协议模拟webservice?

可以,参考:

http://blog.testsautomation.com/2009/01/web-services-performance-using-loadrunner/

http://blog.testsautomation.com/2009/05/validating-web-service-response-with-xpath/

24.在气象设置中不忽视思考时间,可是在翻看响应时间的时候怎么让LR自动在响应时间里减去思考时间?

在analysis中找到了安装是还是不是在报告中包涵思考时间的地点做相应的安装即可:

25.LoadRunner在运作进度中停掉1半虚拟用户

Another issue that I’m facing from time to time is that LoadRunner stops
50% of running users without any notification, issue, error message etc.
I’ve find out that it happens only when running with log level set to
‘always send a message’. Because of that, I suggest to run with log
level set to ‘Send message only when error occur’.

26.测试RTMP协议应该在LoadRunner选用怎么着协议来视频?

用flex协议

有那多少个函数可用:

flex_rtmp_connect Connects a client to an RTMP server and sets
connection options.

flex_rtmp_disconnect Disconnects a client from an RTMP server.

flex_rtmp_send Sends messages to an RTMP server.

flex_rtmp_receive Receives responses from an RTMP server

Flex can record and replay scripts involving RTMP (Real Time Messaging
Protocol). In order to enable RTMP simulation, you must configure the
recording options for the Flex protocol.

To enable RTMP:

1 Open the Recording Options dialog box by selecting Tools >
Recording Options or clicking the Options button in the Start Recording
dialog box.

2 In the Network > Port Mapping node click Options.

3 Set the Send-Receive buffer size threshold to 1500.

27.如何在LoadRunner中运行QTP脚本?

  1、运行准备:

1)勾选QTP的Tools–Options–Run的”Alow other Mercury products to run
tests and components”

2)摄像须要在lr中运作的QTP脚本,并且在QTP脚本中安装工作,瑟维斯s.StartTransaction
“start”与Services.EndTransaction “start”

2、运行QTP脚本

在LR中运作时选取QTP脚本,为QTP脚本存放目录下文件增添名为.usr的文件。

 注:LR中运作QTP脚本时,只可以有一个Vuser,否则将报错:

  The load generator is currently running the maximum number of Vusers
of this type

28.在LR中如何忽略Socket接收数据的求证

在LR中对Socket举行质量测试时,LR会本身判断lrs_receive回来的数目标尺寸,而一旦长度不符的话会有时光推移的动静(那是性质测试完全无法接受的事情),假如形成这或多或少啊,经过连续品味,发现一种简单的法门(用*取而代之具体的长短):

接近于将:

recv buf1 12

“Hello, Denny”

改为:

recv buf1 *

“Hello, Denny”

一切OK。

29.LoadRunner9.5的Controller中不可以添加Apache的督查

在C:\Program
Files\HP\LoadRunner\dat\online_graphs中找到online_resource_graphs.rmd文件,修改[Apache]一些中的EnableInUI为1

参考:

http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1274450165814+28353475&threadId=1229523

30.VB Vuser开发ADO脚本,提示“user-defined
type not defined”

想在VB Vuser写入模拟数据操作的进程,然后在VB Vuser里定义了这一个全局变量

Private m_Conn As ADODB.Connection ‘连接对象

Private m_Reco As ADODB.Recordset ‘结果集

而是在VB Vuser中不识别这一个目的,报出user-defined type not defined

急需在Run-Time 设置中的VBA部分把ADO的库选上

如果用VB Script虚拟用户来开发就不用,直接用CreateObject来创建ADO对象即可

31.loadrunner9.5录制脚本时出现c:\PROGRA~1\MICROS~1\office12\Grooveutil.DLL时出错内存地方访问无效

Office2007的题材,IE加载项禁用Groove GFSBrowser Helper 组件

32.LR自带的例证端口号怎么修改?

LR自带的例证端口号是1080,我怎么着把那几个端口设置本人本身想用的端口号8088,在哪些地点设置在LR安装目录下,找到Xitami.config文件,找到portbase,可以修改它(暗中同意是1000);

默许的端口号是portbase+80;要把端口号改成8088,就把portionbase改为8008,保存之后就是了(8088=8008+80)。

33.用Web_reg_find查找汉语字符串时寻找不到

剧本文件里有个default.cfg,里面有个参数是 UTF8InputOutput ,将其值改为0

34.替代IP Wizard的脚本

http://hi.baidu.com/higkoo/blog/item/39bbb21bc33d76dcac6e751c.html

LoadRunner自带的“IP
Wizard”用起来卓殊麻烦,要不停的点,紧要的是最终还非得重启系统生效。

于是写个脚本替代之:

  1. 比方客户端IP为 192.168.10.31

  2. 万一服务端IP为 192.168.10.10

  3. 须要效法的IP为 110.119.120.122

那么,客户端提供添加虚拟IP的BAT脚本:

netsh interface ip add address 本地连接 110.119.120.122 255.255.0.0

相应的去除设置为:

netsh interface ip del address 本地连接 110.119.120.122

对应服务器添加虚拟路由的Shell脚本:

route add -host 110.119.120.122 gw 192.168.10.31

去除路由的台本:

route del -host 110.119.120.122 gw 192.168.10.31

那般就可怜便宜了,不用重启任何机器,执行脚本就卓有功能,再履行脚本就收回。

35.怎么样从命令行调用LoadRunner脚本?

Here is the command line that you need to execute to run a VuGen script
from the command prompt:

<LoadRunner>\bin\mmdrv.exe -usr <path to usr file>

Note:

In order to get all the other options that go with the command, run
mmdrv.exe from the command prompt without any options.

36.请问”int64那个序列,在LR中怎么表示”。我将一段C的代码放在LR中,LR不认int64这些项目,怎么消除?

把那段C代码做成DLL,然后在LR中调用

37.LoadRunner督查长途机器Windows资源,指示“net use
failed”

化解办法:

在被监督机器上转移本地帐户的共享和平安格局为经典情势。控制面板->管理工具->本地安全策略->互连网访问:本地帐户的共享和安全情势->经典格局。

监视连接前的准备干活:

先是保障被监视的windows系统开启以下二个服务Remote Procedure Call(RPC)
和Remote Registry Service

被监视的WINDOWS机器:右击我的微机,拔取管理->共享文件夹->共享
在那里面要有C$那一个共享文件夹,(即使没有本身手动加)

接下来保险在装置LR的机械上使用运行.输入\\被监视机器IP\C$
然后输入管理员帐号和密码,即使能收看被监视机器的C盘了,就认证你拿走了那台机器的指挥者权限,可以应用LR去老是了

  38.LoadRunner脚本中出现乱码难题现象某个链接可能图片名称为中文乱码,脚本运行不能通过。

  错误分析   脚本视频或许应用的是URL-based
script形式,若是程序定义的字符集合选拔的是国际标准,脚本就会见世乱码现象。
  解决办法重新摄像脚本,在视频脚本前,打开录像选项配置对话框进行设置,在“Recording
Options”的“Advanced”选项里先将“Surport
Charset”选中,然后选中援救“UTF-8”的选项。

39.LoadRunner不进行检查措施不当现象在本子中插入函数Web_find,在剧本中设置文本以及图像的检查点,但是在回看进程中并没有对设置的检查点举行反省,即Web_find失效。

  错误分析
  由于检查职能会损耗一定的资源,由此LoadRunner暗中同意关闭了对文件以及图像的多寡举行爱戴检查,所以在装置检查点后,须要开启检查功效。
  化解办法打开运行环境设置对话框进行设置,在“Run-time
Settings”的“Internet
Protocol”选项里的“Perference”中勾选“Check”下的“Enable Image and text
check”选项。  
须要注意的是,回放脚本时出现的荒谬有时是先后自己的原因造成的,由此在缓解脚本回放难点前务必确保程序摄像出的脚本是正确的。

  40.LoadRunner超时不当:在视频Web商谈脚本重播时超时意况常常出现,爆发错误的由来也有广大,化解的不二法门也不同。

  错误现象1:Action.c(16): Error -27728: Step download timeout (120
seconds) has expired when downloading non-resource(s)。

  错误分析:对于HTTP协议,专擅认同的晚点时间是120秒(可以在LoadRunner中修改),客户端发送一个伸手到劳动器端,如若当先120秒服务器端还并未回来结果,则出现逾期错误。

化解办法:首先在运转条件中对逾期进行设置,专擅认同的过期时间可以安装长一些,再设置多次迭代运行,假诺还有过期现象,必要在“Runtime
Setting”>“Internet
Protocol:Preferences”>“Advanced”区域中设置一个“winlnet replay
instead of sockets”选项,再回看是还是不是中标。

 

  错误现象 2:Action.c(81):Continuing after Error -27498: Timed out
while processing URL=http://172.18.20.70:7001/workflow/bjtel/leasedline/
querystat/ subOrderQuery.do

  错误分析:那种不当平日是因为并发压力过大,服务器端太费劲,不大概即时响应客户端的乞请而造成的,所以那一个荒唐是正规现象,是压力过大导致的。

  如若压力很小就出现那些题材,或许是本子某个地点有不当,要精心翻看脚本,指示的错误消息会稳定某个具体难点时有发生的任务。

  消除办法:例如地点的一无是处现象难点一定在某个URL上,须要再行运行一下情况,同时在其他机器上访问此URL。若是不可以访问或时刻过长,只怕是服务器或然此选拔不可以支撑那样之大的载荷。分析一下服务器,最好对其质量举行优化。

假如再次运行境况后还有过期现象,就要在各样图片中分析一下缘故,例如能够查阅是还是不是服务器、DNS、网络等地点存在难点。

 

  最终,扩大一下运行时的逾期设置,在“Run-Time Settings”>“Internet
Protocol:Preferences”中,单击“options”,增加“HTTP-request connect
timeout” 大概“HTTP-request receive”的值。

  41.LoadRunner脚本中冒出乱码:在视频Web商量脚本时出现中文乱码,在重放脚本时会使回放截止在乱码地点,脚本不大概运行。

  错误现象:某个链接大概图片名称为华语乱码,脚本运行无法透过。

  错误分析:脚本摄像或许接纳的是URL-based
script格局,即便程序定义的字符集合接纳的是国际标准,脚本就会产出乱码现象。

  解决办法:重新视频脚本,在摄像脚本前,打开录像选项配置对话框举行设置,在“Recording
Options”的“Advanced”选项里先将“Surport
Charset”选中,然后选中支持“UTF-8”的选项。

  42.LoadRunner
HTTP服务器状态代码:在视频Web协议脚本回看脚本的长河中,见面世HTTP服务器状态代码,例如常见的页面-404张冠李戴指示、-500错误指示。

  错误现象1:-404 Not
Found服务器并未找到与请求URI相符的资源,但还是可以再三再四运行直到停止。

  错误分析:此处与请求URI相符的资源在视频脚本时早已被交付过五次,重放时不得再重复提交同样的资源,而必要转移提交资源的内容,每回回看一遍脚本都要转移提交的数码,保障模拟实际条件,造成一定的载重压力。

解决办法:在出现谬误的义务展开脚本关联,在需求时插入相应的函数。

 

  错误现象2:-500 Internal Server Error服务器内部错误,脚本运行甘休。

  错误分析:服务器碰到了竟然情形,使其无法持续应对请求。

  消除办法:现身此错误是沉重的,表达难点很惨重,须要从难题的产出岗位进行检查,此时内需此程序的开发人士协作来消除,而且发生的来头依据实际情状来定,测试人员无法独立化解难题,而且应该尽快消除,以便于前面的测试。

  43.LoadRunner请求无法找到:在录像Web合计脚本回看脚本的经过中,会现出请求不能找到的气象,而致使脚本运行截至。

  错误现象:Action.c(41): Error -27979: Requested form. not found
[MsgId: MERR-27979]

  Action.c(41): web_submit_form. highest severity level was
“ERROR”,0 body bytes, 0 header bytes [MsgId: MMSG-27178]”

  那时在tree view中看不到此组件的连锁URL。

错误分析:所选择的录像脚本情势不得法,寻常情状下,基于浏览器的Web应用会利用“HTML-based
script”情势来视频脚本;而从不依据浏览器的Web应用、Web应用中包括了与服务器举办交互的Java
Applet、基于浏览器的应用中含有了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的选择中选用HTTPS安全协议,那时则选拔“URL-based
script”情势展开录像。

  消除办法:打开视频选项配置对话框举办安装,在“Recording
Options”的“Internet Protocol”选项里的“Recording”中选取“Recording
Level”为“HTML-based script”,单击“HTML Advanced”,采取“Script. Type”为“A
script. containing explicit”。然后再拔取接纳“URL-based
script”情势来视频脚本。

  44.LoadRunner不履行检查办法:在录像Web协商脚本中添加了反省措施Web_find,可是在本子回放的历程中并不曾履行。

  错误现象:在本子中插入函数Web_find,在剧本中安装文本以及图像的检查点,可是在重放进程中并不曾对安装的检查点举办检讨,即Web_find失效。

  错误分析:由于检查职能会开支一定的资源,由此LoadRunner默许关闭了对文本以及图像的检查,所以在装置检查点后,需求开启检查效率。

消除办法:打开运行环境设置对话框进行安装,在“Run-time
Settings”的“Internet
Protocol”选项里的“Perference”中勾选“Check”下的“Enable Image and text
check”选项。

  45.LoadRunner回放Web
Services协议脚本错误:LoadRunner 8.0版本在录像Web
Services协议的剧本时正常,但在回看时会出现谬误,提醒截至脚本运行。

  错误现象:利用LoadRunner 8.0版本来视频Web
Services协议的台本没有其他错误提醒,回看脚本时会出现如下错误提醒“Error:server
returned an incorrectly formatted SOAP response”。

  错误分析:出现此错误的案由是LoadRunner8.0在摄像Web
Services协议的剧本时存在一个欠缺:如若服务器的操作系统是普通话的,VuGen会自动将WSDL文件的头改为<?xml
version=”1.0″encoding=”zh_cn” ?>,所以才会有此错误指示。

化解办法:下载多个补丁,分别为“LR80WebServicesFPI_setup.exe”和“lrunner_web_
services_patch_1.exe”安装上即可。

46.LR启动controller报错“transaction monitor
not available”

1.多是OS系统难点,修复试试或升级

2.或修复LR试试

47.Loadrunnber 报错误:Error — memory violation : Exception
ACCESS_VIOLATION received.的一种状态

Posted on 2011-01-05 12:12蝈蝈俊 阅读(433)评论(0) 编辑收藏

近日写的一个Loadrunner脚本,最终一步是点击“退出”按钮退出登录情状,如下:

web_text_link(“[退出]”,

“Snapshot=t18.inf”,

DESCRIPTION,

“Text=[退出]”,

ACTION,

“UserAction=Click”,

LAST);

return 0;

可是会报错误:

Action1.c(94): Error: C interpreter run time error: Action1.c (94):
Error — memory violation : Exception ACCESS_VIOLATION received.

Action1.c(94): Notify: CCI trace: Action1.c(94):
web_text_link(0x02080870, 0x0208085f “Snapshot=t18.inf”, 0x02080a42
“DESCRIPTION”, 0x02080853, 0x02080a3b “ACTION”, 0x020809de
“UserAction=Click”, 0x02080a6a “LAST”)

Action1.c(94): Notify: CCI trace: Compiled_code(0): Action1()

经过试验,发现是因为 退出后有个机关跳转。

一经退出甘休代码修改为下边就一向不难题了。

web_text_link(“[退出]”,

“Snapshot=t18.inf”,

DESCRIPTION,

“Text=[退出]”,

ACTION,

“UserAction=Click”,

LAST);

web_browser(“Sync”,

“Snapshot=t18.inf”,

DESCRIPTION,

ACTION,

“Sync”,

LAST);

return 0;

结论:

web_text_link假如有中档跳转,不可以放在代码的末尾,最后要有一个 Sync。

48.Step download timeout(sec)设置

那一个暗许是120秒,可是常常我们要设置的更大一些,具体设置方法:Vugen–》Vuser—》Runtime-settings—-》Preferences——》option,将Step
download timeout(sec)专擅认同值120s改为和谐要求的值,其次要转移HTTP-reguest
connnect timeout(sec)和HTTP-reguest receive
timeout(sec)也为对应的值。

49.修改本机tcp连接数

因为个人pc机的默许的tcp连接数唯有15个(xp),所以大家在模仿虚拟四个用户时,就会赶上tcp的连日限制,从而报错。修改的措施:windows下运行Patch.exe
输入C,再输入你要的TCP/IP连接数字(一般为500~2000)回车确认输入Y
回车确认。倒计时15秒后得了。接着再运行下Patch.exe,看连接数是还是不是由原先的10变为温馨改了的数值。
Patch.exe 下载地址:http://www.touchboy.cn/2007/05/%
%E6%8E%A5%E6%95%B0/

50.关于Error -27791: Error -27790:Error -27740:错误的化解办法:

荒谬如下: Action.c(198): Error -27791: Server “www.zcpx.cn” has shut
down the connection prematurely Action.c(198): Error -27790: Failed to
read data from server “www.zcpx.cn”: [10053] Software caused
connection abort Action.c(198): Error -27740: Overlapped transmission of
request to “www.zcpx.cn” for URL
http://www.zcpx.cn/userEntry.do” failed: WSA_IO_PENDING
消除办法:在剧本的最前边加上web_set_sockets_option(“OVERLAPPED”,”0″);

  1. LR中错误代号为27796的一个解决措施

错误如下:

52.

1A:注册表不可以访问或写导致的,可以过来注册表或卸载(清除注册表,可以运用工具)重新安装程序。
要启支LR自带的实例的劳务时,出错了,提醒:端口已经被另一个劳动占用,请问一下能无法自个儿修改那几个程序原来设定的端口啊?
2A:截止服务之后,在先后的装置目录\WebTours下找到xitami.cfg文件修改portbase值,注意
私行认同的端口号是portbase+80,portbase值是1000;要把端口号改成8088,就把portbase改为8008,保存之后就是了(8088=8008+80)。然后重启服务

二:LoadRunner面试(笔试)难题整治

  1. 怎么样是负载测试?什么是性质测试?

负载测试是经过稳步充实系统负荷,测试系统天性的变迁,并最终确定在满意品质目标的意况下,系统所能承受的最大负载量的测试,例如,访问一个页面的响应时间确定不当先1秒,负载测试就是测试在响应时间为1秒时,系统所能承受的最大产出访问用户的多寡。

压力测试寻常是在高负荷意况下来对系统的安定举行测试,更使得地发现系统稳定的隐患和系统在负载峰值的原则下效果隐患等。

属性测试:指在早晚的封锁原则下(指定的软件、硬件、网络环境等),确定系统所能承受的最大负荷压力。

  1. 质量测试包含了什么样测试(至少举出3种)

 质量测试包涵负载测试、压力测试、大数据量测试、疲劳强度测试等。

  1. 简述品质测试的步骤

 

先是,分析产品结构,明确品质测试的要求,包蕴并发、极限、配置和目标等地点的习性须要,需求时基于LOAD测试的同一测略需同时考虑稳定测试的急需。
  第二,分析利用场景和用户数量,细分用户作为和相关的数据流,确定测试点或测试接口,列示系统接口的或然瓶颈,一般是先主干接口再支线接口,并做到开头的测试用例设计。
  第三,依照品质测试必要和规定的测试点进行测试组网设计,并明确差距组网方案的基本点程度或先行级作为选拔评估的依据,须求时在最初产品设计中指出扶助品质测试的可测试性设计方案和对测试工具的须要。
  第四,已毕质量测试用例设计、分类选择和依据用户作为分析规划测试规程,并预备好测试用例将采用的测试数据。
第五,确定选拔的测试工具。
第六,举办初验测试,以主干接口的可用性为主,按照测试结果分析品质瓶颈,通过迭代确保中央的目的等测试的条件。
第七,迭代举办全面的习性测试,完结布置中的质量测试用例的执行。
第八,完结品质测试评估报告。
  在开展质量测试的时候,我们须要了然有些可行的质量目标,上面大家来列出部分器重的质量目标:
  一是,通用目标(指Web应用服务器、数据库服务器必需测试项):
*ProcessorTime:指服务器CPU占用率,一般平均达到70%时,服务就类似饱和;
*Memory Available
Mbyte:可用内存数,假设测试时发现内享有变化意况也要注意,如果是内存败露则比较严重;
*Physicsdisk Time :物理磁盘读写时间情况。
二是,Web服务器目标:
*Avg Rps:平均每分钟响应次数=总请求时间/秒数;
*Avg time to last byte per
terstion(mstes):平均每秒业务角本的迭代次数;*Successful
Rounds:成功的乞求;
*Failed Rounds:失利的呼吁;
*Successful Hits:成功的点击次数;
*Failed Hits:失败的点击次数;
*Hits Per Second:每秒点击次数;
*Successful Hits Per Second:每秒成功的点击次数;
*Failed Hits Per Second:每秒退步的点击次数;
*Attempted Connections:尝试链接数。
三是,数据库服务器目标:
*User 0 Connections :用户连接数,约等于数据库的接连数量;
*Number of deadlocks:数据库死锁;
*Butter Cache hit:数据库Cache的命中境况。

  1. 简述使用Loadrunner的步调

  A4:制定品质测试安顿—>开发测试脚本—>设计测试场景—>执行测试场景—>监控测试场景—>分析测试结果

 

  1. 如什么时候候可以初叶举行品质测试?

  功效测试通过;一般须要开展质量测试的系统,都是用户量相比较大、业务应用比较频仍、比较重大的效能模块。

  1. LoadRunner由什么部件组成?

 紧要有三有些构成:

 VuGen、Controller、Analysis

7.
你使用LoadRunner的哪位部件来视频脚本?

   使用Virtual User Generator视频测试脚本

  1. LoadRunner的哪位部件可以依样画葫芦多用户并发下重放脚本?

  LoadRunner的Controller组件。

9.
怎么着是集合点?设置集合点有如何含义?Loadrunner中设置集合点的函数是哪个?

 
 在性质测试进程中,须求效法多量用户在同样时刻,访问系统并同时操作某一职分,可以透过安排集合点来落到实处,多少个用户同时拓展某操作;

  
集合点可以在服务器上开创密集的用户负载,使LoadRunner可以测试服务器在负载状态下的属性。

  设置集合点函数:lr_rendezvous(“Meeting”); // Meeting是集合点名称

  1. 怎么着是场馆?场景的重中之重有怎么样?怎样设置场景?

  场景用于模拟用户实际工作操作;

LoadRunner中场景有手工场景和面向目的的气象。

安装场景:选用场景类型、设置运行时设置、模拟用户数、加减压方法、持续时间,配置负载生成

1.选项场景中必要的脚本 2.挑选为对象场景,依然指定的手工场景
3.设置用户数、设置暴发负载的设施 4.安装进行政策

  1. 请解释一下怎么样录像web脚本?

LR通过转发呼吁,来捕获数据包,来形成脚本

解说:1.基于浏览器的应用程序推荐应用HTML-based Script, 脚本中利用
HTML页面的情势来代表,那种办法的Script脚本简单保险,容易明白,使用该选项中的advance中的第四个选拔,若是唯有的HTML方式,是不相同意使用关联的。
2.不是基于浏览器的应用程序推荐使用URL-based
Script,脚本中的表示采纳基于URL 的点子,不是很好读书。
诠释:1.是或不是记录摄像进度中的ThinkTime,倘诺记录,还足以设置最大值,一般本人不记录那几个值。
2.通报Vugen去重新设置每一种action之间的Http context,缺省是急需的。
3.一体化记录视频进程的log,
4.保留一个当地的snapshot,能够加快展现
5.把html的title放到web_reg_find函数里面
6.支撑的字符集标准
7.Http
header的录像,大家应用缺省即可,不需求用web_add_header去录像非标准的header音信。
对视频的content的始末进行filter,不作为resource处理的。
表明:那个就是我前边提到的涉及,系统已经先期安装好了有的科普的关联rules,大家录像脚本以前,能够把系统的

  1. 何以要开创参数?怎么着创设参数?
    参数:在条件变迁时务必时脚本具有环境变化的能力,就须求参数化(客户端发送到服务器端)
    1.确定要参数话的数额 2.设定规则格局来取值

13.
怎么着是事关?请解释一下自动关联和手动关联的差距。

关联:很多构架用sessionid等艺术标识分化职责和数据,应用在每一回运行时办法发送数据大相径庭,必要选拔的机制对摄像的剧本进行拍卖,那种体制叫做关联(服务端发送到客户端)

  1. 情景设置有哪二种方法?

目标场景,手工场景

  1. 你怎么找出何地须求关联?请给部分您所在项指标实例。
    用户登陆,客户端发送请求后,服务端验证正确性后,发送给客户端sessionid,是某种规则产生。

  2. 您在哪里设置自动关联选项?

两地点可以安装 :

1.安装允许视频时举行自动关联,能够自定义规则

2.摄像落成后,vuser-scan action for correlations

17.
哪个函数是用来截取虚拟用户脚本中的动态值?(手工关联)

web_reg_save_param()函数首要依据须要做涉嫌的动态数据前边和前边的一向字符串来鉴别、提取动态数据,所以在做涉嫌时,需求找出动态数据的左、右侧界字符串。

  1. 您在VUGen中何时选取关闭日志?曾几何时采用标准和伸张日志?
    Run-time,log,当调试脚本时,可以只输出错误日志,当在气象找你管加载脚本时,日志自动成为不可用。
    Standard Log
    Option:选取正式日志时,就会在本子执行进度中,生成函数的正统日志并且输出消息,供调试用。大型载重测试场景不用启用这一个选项。增添日志包罗警告和其余新闻。大型载重测试并非启用该选项。用伸张日志选项,可以指定哪些附加消息必要加到增添日志中

  2. 你什么调节LoadRunner脚本?
    VuGen有多个接纳协助调节Vuser脚本。Run Step by
    Step命令和断点(breakpoints)。Option对话框中的调试设置(Debug
    setting)项,可以确定在情景执行进度中实践轨迹范围。调试音信写在output窗口。可以用
    lr_set_debug_messag函数在本子中手工安装音讯体系。若是大家只想接受到一小段脚本的调式音信。

  3. 您在LR中什么编写自定义函数?请给出一些您在原先举行的序列中编辑的函数。
    在开立用户自定义函数前大家须要和创立DLL(external
    libary)。把库位于VuGen
    bin目录下。一旦加了库,把自定义函数分配做一个参数。该函数应该具有一下格式:__declspec
    (dllexport) char* <function name>(char*, char*)。 Milan

  4. 什么样是逐步递增?你什么样来安装?
    Ramp
    up那么些选项用于逐步增添服务器的虚构用户数或负载量。设置一个开端值而且能够在四个迭代之间设置一个值等待。设置Ramp
    up,请到‘Scenario Scheduling Options’。

  5. 以线程格局运行的杜撰用户有哪些亮点?
    VuGen提供了用多线程的造福。那使得在种种生成器上可以跑越来越多的杜撰用户。假设是以进程的措施跑虚拟用户,为各种用户加载相同的驱动程序到内存中,因而占有了大气的内存。那就限制了在单个生成器上能跑的杜撰用户数。假诺按线程运行,给定的有着虚拟用户数(比如100)只是加载一个驱动程序实例到内存里。每一种线程共用父驱动程序的内存,因而在每种生成器上可以跑更加多的虚构用户。

  6. 当你须求在失误时停下实施脚本,你咋办?
    lr_abort函数摒弃虚拟用户脚本的实践。表明虚拟用户截至Action的举行,直接实施vuser_end然后竣事执行。在产出谬误境况下想手工抛弃脚本的实施,那个函数是有效的。用那一个函数截至脚本时,Vuser被指定为“Stopped”状态。为了那几个函数起成效,开首时候就不大概拔取Run-Time
    Settings中的Continue on error选项。

  7. 响应时间和吞吐量之间的关系是什么样?
    吞吐量图显示的是杜撰用户每分钟从服务器收到到的字节数。当和响应时间比较时,可以窥见随着吞吐量的骤降,响应时间也暴跌,同样的,吞吐量的峰值和最大响应时间大多在同时出现。

25.
认证一下怎样在LR中安顿连串计数器?
通过Web资源监视器,利用这一个监控器可以分析web服务器的吞吐量、点击率、每秒http响应数以及每秒下载的页面数。

  1. 什么是think
    time?think_time有如何用?
    思考时间是忠实用户在action之间等待的时辰。例如:当一个用户从服务器收到到多少时,用户大概要求在响应从前等待几分钟回想数据,那种推迟被叫作思考时间。

  2. 正规日志和增添日志的区分是怎么样?
    Standard Log
    Option:选取正式日志时,就会在本子执行进程中,生成函数的正规化日志并且输出音讯,供调试用。大型载重测试场景不用启用这些选项。扩张日志包蕴警告和其余音讯。大型载重测试并非启用该选项。用扩张日志选项,可以指定哪些附加音信须要加到增添日志中

  3. 诠释以下函数及她们的差距之处。
    Lr_debug_message lr_debug_message 函数在指定的信息级别 //
    处于活动状态时发送一条调试新闻。假设指定的 //
    新闻级别未处于活动状态,则不暴发音信。 Lr_output_message
    要发送不是一定错误音讯的超常规关照, Lr_error_message
    函数将错误音讯发送到 // 输出窗口和 Vuser日志文件 Lrd_stmt lrd_exec
    函数执行 lrd_stmt设置的 SQL 语句。 Lrd_fetch
    函数从结果集中提取后续若干行 result set. 函数准备用来 //
    通过光标输出字符串(平常为 SQL语句) // 的下一结实集。对于 CtLib,它发出
    ct_result // 命令,并且在 ODBC中它运行用于当前数据库

  4. 何以是吞吐量?
    单位时间内系统处理客户端的请求数。

30.
action和init、end除了迭代的不相同还有其余吗?

在init、end中不只怕利用集合点、事务等, init、end只进行一回。

  1. 在如哪儿方设置HTTP页面filter?

在runtime_settings中download filter里面举行安装。

  1. pot mapping的法则是哪些?

纵使代理服务器

  1. HTTP的逾期有哪三种?

HTTP-request connect timeout、HTTP-request receive timeout、step
download timeout

  1. 什么样是contentcheck?怎样来用?

ContentCheck的装置是为了让VuGen检测何种页面为错误页面。如若被测的Web应用尚未行使自定义的荒谬页面,那么这里并非作变更;若是被测的Web应用使用了自定义的错误页面,那么那里须求定义,以便让VuGen在运行进度中检测,服务器重回的页面是还是不是含有预订义的字符串,进而判断该页面是或不是为不当页

面。假使是,VuGen就终止运转,指示运行失败。

应用方法:点击在runtime
settings中点击“contentcheck”,然后新创建一个符合需要的应用程序和规则,设定需求摸索的公文和前缀后缀即可使用。

  1. network中的speed
    simulation是人云亦云的什么带宽?

宪章用户访问速度的带宽。

  1. 生成WEB品质图有哪些意义?几乎讲述即可。

可以很直观的看到,在负载下系统的运作处境以及各个资源的选用状态,可以对系统的属性瓶颈定位、质量调优等起到想要的鼎力相助作用。

  1. 设若刷新controller里的脚本?

在controller中,点击detailis-Refresh-script即可。

  1. 进度和线程有哪些分别?

线程有自个儿的全局数据。线程存在于经过中,由此一个历程的全局变量由拥有的线程共享。由于线程共享同样的系统区域,操作系统分配给一个进度的资源对该进程的富有线程都是可用的,正如全局数据可供所有线程使用同样。在Controller上校使用驱动程序(如mdrv.exe、r3vuser.exe)运行vuser。如果按进度运行逐个vuser,则对此各种vuser实例,都将反复启动同一驱动程序并将其加载到内存中。将一如既往驱动程序加载到内存中会占用大量的RAM(随机存储器)及别的系统资源。这就限制了可以在任一负载生成器上运行的vuser数量。即使按线程运行每一种vuser,Controller为每50个vuser(私行认同情状下)仅启动驱动程序(如mdrv.exe)的一个实例。该驱动程序将起动多少个vuser,逐个vuser都按线程运行。那些线程vuser将共享父驱动进度的内存段。那就解除了往往双重加载驱动程序/进度的必要,节省了大气内存空间,从而得以在一个负载生成器上运行越来越多的Vuser.

  1. 何以把剧本和结果放到load
    generator的机械上?

在controller中,点击Results-Results settings,在其间举办相应的装置即可。

  1. 如何设置才能让集合点只对一半的用户生效?

对集合点策略举行对应的设置即可。即在controller中,点击Scenario-Rendezvous-policy进行相应的安装即可,由于标题中“一半的用户”没有证实白具体指什么的用户,以后糟糕确定具体对内部的哪个选项举行设置。

  1. LRd的API分为几类

A:通用的API:,就是跟实际的情商毫无干系,在其他商讨的台本里都能用的;

B:针对商事的:像lrs前缀是winsock的;lrd的是针对database;

C:自定义的:那么些范围就相比广了;比如至少有Java Vuser API、lrapi、XML
API。还足以添加WindowsAPI和自定义函数库。

  1. LR二种日志函数的界别?

【lr_message】 int lr_message (const char *format, exp1,
exp2,…expn.);中文解说:lr_message函数将音信发送到日志文件和输入窗口。在VuGen中运作时,输入文件为output.txt。

【lr_log_message】 int lr_log_message (const char *format, exp1,
exp2,…expn.);普通话演讲:lr_log_message函数将音信发送到Vuser或代理日志文件(取决于应用程序),而不是发送到输出窗口。通过向日志文件发送错误新闻或其他音讯性音讯,可以将该函数用于调试。
【lr_error_message】 int lr_error_message (const char *format,
exp1, exp2,…expn.
);汉语表明:lr_error_message函数将错误新闻发送到输出窗口和Vuser日志文件。要发送不是一定错误消息的差别日常关照,请使用lr_output_message。

【lr_output_message】 int lr_output_message (const char *format,
exp1,
exp2,…expn.);粤语演说:lr_output_message函数将富含脚本有的的行号的音信发送到输出窗口和日志文件。

【lr_debug_message函数组】 int lr_debug_message (unsigned int
message_level, const char *format, …
);汉语演说:lr_debug_message函数在指定的音信级别处于活动状态时发送一条调试新闻。若是指定的新闻级别未出于活动状态,则不发送音信。您可以从用户界面或许采纳lr_set_debug_message,将远在活动状态的音信级别设置为MSG_CLASS_BRIEF_LOG或MSG_CLASSS_EXTENDED_LOG。要规定当前级别,

请使用lr_get_debug_message。 unsigned int lr_get_debug_message (
);汉语演说:lr_get_debug_message函数再次来到当前的日记运行时设置。该装置规定发送到输出端的音信。日志设置是使用运行时设置对话框或透过采纳lr_set_debug_message函数指定的。int
lr_set_debug_message (unsigned int message_level, unsigned int
on_off);
中文表达:lr_set_debug_message函数设置脚本执行的调节新闻级别message_lvl。通过安装新闻级别,可以规定发送哪些音讯。启动设置的措施是将LR_SWITCH_ON作为on_off传递,禁用设置的不二法门是传递LR_SWITCH_OFF。

【lrd_stmt】:将SQL语句与光标关联

【lrd_fetch】:提取结果集中得下一条记下

  1. 属性瓶颈分析方法?

同一场景 1.小用户量的情形下测试 2.大用户量景况下的测试 分析的格局:
整个系统架构分析,系统响应时间消耗,利用图表分析
查看工作响应时间,通过作业摘要图分析工作响应时间,那多少个消耗最大(通过小用户量和大用户量的响应时间分析,查看那多少个事情响应时间最高),确定哪一部分功力是性质的瓶颈,分析window
resource图表,查看cpu 使用下列计数器标识cpu瓶颈 Processor\
Interrupts/sec Processor\ % Processor Time Process(process)\ %
Processor Time System\ Processor Queue Length
通过它来规定是还是不是硬件自个儿出现瓶颈,可能进一步确定相应怎么去判断质量暴发瓶颈的地方!
下一步去看清进程,那个进度消耗cpu最高
下面就有很各个情景要求您本身去看清,有或许是经过调用了的函数消耗了系统资源形成上边的标题,也有可能是后台数据库出现的标题(那几个即将看你的系统布置是怎样的,比如您的db服务器和应用服务器都布署在一台机器上)
品质爆发瓶颈有众多地点,所以须求进一判断,是不是是后台数据库的题材还有待分析,是那条语句导致的标题亟需更为分析判断。
分析原则: •
具体难题具体分析(那是由于不相同的应用连串,差别的测试目标,不一样的本性关怀点)
• 查找瓶颈时按以下顺序,由易到难。
服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库,web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)
注:以上进度并不是种种分析中都需要的,要基于测试目标和要求来确定分析的深浅。对部分须要低的,我们解析到应用连串在今后大的载重压力(并发用户数、数据量)下,系统的硬件瓶颈在何处就够了。
• 分段排除法很实惠 分析的新闻来源: •1 依照气象运行进程中的错误提示消息•2 依照测试结果收集到的监督目的数量 一.错误提醒分析 分析实例: 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、数据库的连接
(1、在应用服务的质量参数只怕太小了
2、数据库启动的最明斯克接数(跟硬件的内存有关)) 2 Error: Page download
timeout (120 seconds) has expired 分析:大概是以下原因导致
•A、应用服务参数设置太大导致服务器的瓶颈 •B、页面中图纸太多
•C、在程序处理表的时候检查字段太大多 二.监理指标数量解析
1.最大并发用户数:
应用连串在当前环境(硬件条件、网络环境、软件条件(参数配置))下能承受的最大并发用户数。
在方案运行中,假设出现了超出3个用户的业务操作战败,或出现了服务器shutdown的动静,则表明在当下环境下,系统接受不住当前面世用户的载荷压力,那么最大并发用户数就是前一个从未出现那种气象的并发用户数。
如果测得的最大并发用户数到达了品质须求,且各服务器资源意况杰出,业务操作响应时间也高达了用户需求,那么OK。否则,再依据各服务器的资源气象和作业操作响应时间越来越分析原因所在。
2.政工操作响应时间: •
分析方案运行景况应从平均事务响应时间图和业务品质摘要图初始。使用“事务质量摘要”图,可以规定在方案实施时期响应时间过长的政工。

细分事务并分析各种页面组件的性格。查看过长的作业响应时间是由哪些页面组件引起的?难点是或不是与互联网或服务器有关?

假使服务器耗时过长,请使用相应的服务器图确定有标题的服务器度量并调研服务器质量下降的来头。要是网络耗时过长,请使用“互联网监视器”图确定导致质量瓶颈的网络难题3.服务器资源监控目标: 内存: 1
UNIX资源监察中目的内存页沟通速率(Paging
rate),假诺该值偶尔走高,申明当时有线程竞争内存。即使持续很高,则内存或许是瓶颈。也说不定是内存访问命中率低。
2 Windows资源监察中,如果Process\Private Bytes计数器和Process\Working
Set计数器的值在长日子内不停上涨,同时Memory\Available
bytes计数器的值持续下降,则很可能存在内存泄漏。
内存资源变为系统性子的瓶颈的预兆: 很高的换页率(high pageout rate);
进度进入不活动状态; 互换区所有磁盘的活动次数可高;
可高的大局系统CPU利用率; 内存不够出错(out of memory errors) 处理器: 1
UNIX资源监察(Windows操作系统同理)中目标CPU占用率(CPU
utilization),假若该值持续领先95%,声明瓶颈是CPU。可以设想扩大一个统计机或换一个更快的微机。如若服务器专用于SQL
Server,可接受的最大上限是80-85% 合理接纳的界定在60%至70%。 2
Windows资源监察中,假设System\Processor Queue
Length大于2,而电脑利用率(Processor
Time)一贯很低,则存在着计算机阻塞。 CPU资源成为系统品质的瓶颈的前兆:
很慢的响应时间(slow response time) CPU空闲时间为零(zero percent idle
CPU) 过高的用户占用CPU时间(high percent user CPU)
过高的系统占用CPU时间(high percent system CPU)
长时间的有不长的周转进度队列(large run queue size sustained over time)
磁盘I/O: 1 UNIX资源监察(Windows操作系统同理)中目标磁盘沟通率(Disk
rate),假设该参数值平素很高,评释I/O有标题。可考虑更换更快的硬盘系统。
2 Windows资源监察中,即使 Disk Time和Avg.Disk Queue
Length的值很高,而Page
Reads/sec页面读取操作速率很低,则恐怕存在磁盘瓶径。
I/O资源成为系统个性的瓶颈的先兆: 过高的磁盘利用率(high disk utilization)
太长的磁盘等待队列(large disk queue length)
等待磁盘I/O的年月所占的百分率太高(large percentage of time waiting for
disk I/O) 太高的物理I/O速率:large physical I/O rate(not sufficient in
itself) 过低的缓存命中率(low buffer cache hit ratio(not sufficient in
itself)) 太长的周转进程队列,但CPU却空闲(large run queue with idle CPU)
4.数据库服务器: SQL Server数据库: 1
SQLServer资源监控中目的缓存点击率(Cache Hit
Ratio),该值越高越好。借使持续低于80%,应考虑扩张内存。 2 假诺Full
Scans/sec(全表扫描/秒)计数器彰显的值比1或2高,则应分析你的询问以确定是还是不是真的须求全表扫描,以及SQL查询是还是不是可以被优化。
3 Number of
Deadlocks/sec(死锁的多寡/秒):死锁对应用程序的可伸缩性至极挫伤,并且会导致恶劣的用户体验。该计数器的值必须为0。
4 Lock
Requests/sec(锁请求/秒),通过优化查询来压缩读取次数,可以削减该计数器的值。

Oracle数据库: 1
如果任意内存接近于0而且库快存或数量字典快存的命中率小于0.90,那么要求增添SHARED_POOL_SIZE的大小。
快存(共享SQL区)和数码字典快存的命中率:
select(sum(pins-reloads))/sum(pins) from v$librarycache;
select(sum(gets-getmisses))/sum(gets) from v$rowcache; 自由内存 select
* from v$sgastat where name=’free memory’; 2
倘使数据的缓存命中率小于0.90,那么须求加大DB_BLOCK_BUFFERS参数的值(单位:块)。
缓冲区高速缓存命中率: select name,value from v$sysstat where name in
(‘db block gets’, ‘consistent gets’,’physical reads’) ;

Hit Ratio = 1-(physical reads / ( db block gets + consistent gets)) 3
假诺日志缓冲区申请的值较大,则应加大LOG_BUFFER参数的值。
日志缓冲区的申请意况: select name,value from v$sysstat where name =
‘redo log space requests’ ; 4
要是内存排序命中率小于0.95,则应加徐熙媛(Barbie Hsu)(Barbie Hsu)ORT_AREA_SIZE以幸免磁盘排序。

小说转发自:https://www.cnblogs.com/Sunnychenjuan/p/3421322.html