Struts2学学日志(5):输入校验

LoadRunner常见问题
1.LR 脚本为空的缓解办法:

validate方法进行输入校验:

   
struts最基本方式是在每个Action中继承ActionSupport类,并且又写她的输入校验方法validate()。本示例被之RegisterAction代码中吗显示,根据页面及输入的各种校验将具备非合乎输入校验规则之错误信息都是因为ActionSupport类中任何一个措施addFieldError方法将错误信息加入到表单错误信息,并且以输入数据的页面显示,不见面再由Action导航及注册成功页面。

 

1.夺丢ie设置中的老三正值支持取消掉

validateXXX方法进行输入校验:

    Struts
2中除validate方法外它还生同一种validateXXX方法对Action中之一平等一定措施开展该办法的各种字段的输入校验。其中XXX就是欠特定法名。validate方法是对准持有Action中方法的输入校验都进行校验,validateRegister方法只针对Register方法进行校验。因此双方不可知重复使用,都使用会造成个别只章程都进展了校验的结果。

2.以系特性-高级-性能-数据实施保护被,添加loadrunner安装目录中之vugen.exe文件.

利用配置文件进行输入校验:(常用)

 
  使用安排文件来好输入校验这种方式,首先以Action代码中去所有validate和validateXXX方法的代码。然后在与Action类文件以及一级目录下加XXX-validation.xml配置文件。这里”XXX”是Action类文件名字,表示该XML文件被保有输入校验的条条框框定义和错误信息显示方式都只有对该Action有效。

    字段校验:

 

   非字段校验:

 

 

发或是出于录制的URL地址以的是localhost的题目,改成为分配的IP地址或127.0.0.1跃跃欲试。

单个java对象输入校验:

 

    

 

*第一独公文是Action的校验文件。该公文被由Action的村办变量是一个Material对象。因此代码中fieldname是欠变量名字,定义了简单单参数。一个凡是context参数,所定义的名是出开发者自己随便定义。但是之后Material对象的输入校验配置文件名字中须发此名字。

*老二只公文校验配置文件名字命名格式是“Java对象名-context参数-validation.xml”,而在本示例中是”Material-materialContext-validation.xml”,该公文一定要是与Java对象的类代码文件在同等目录下。

图片 1

 

<wiz_tmp_tag id=”wiz-table-range-border” contenteditable=”false”
style=”display: none;”>

 

 

 

 

 

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