【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-Time设置中摘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脚本中安工作,Services.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,则应加大SORT_AREA_SIZE以避免磁盘排序。

章转载自:https://www.cnblogs.com/Sunnychenjuan/p/3421322.html