【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

相关文章