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)

 遭遇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-提姆e Settings – Browser – Browser
Emulation – User-Agent

接下来设置IE:

查看-编码-钩上“自动选用”和Unicode(UTF-8)。

解决办法(2):

使用lr_convert_string_encoding函数来更换编码

上边是一个运用的例证:

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

      
web_submit_data(“postreply.aspx_2”,

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

             
“Method=POST”,

             
“EncType=multipart/form-data”,

             
“RecContentType=text/xml”,

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

             
“Snapshot=t9.inf”,

             
“Mode=HTML”,

             
ITEMDATA,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

             
LAST);

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

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

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

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

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

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

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

    20.怎么样抓取有雷同左左边界的动态value?

如何抓取有一样左右境界的动态value?例如:

stateID=”d7lg0ehmjkkm6uin3s4boei7oq”>

stateID=”cvopakp46ftsf8mh6l37ti3ubm”>

stateID=”bv9mja8gtgr39ddibm5t9163re”>

web_reg_save_param里的ORD应该怎么设置?

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

例子:

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

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

web_reg_save_param(“outFlightVal”,

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

       
“ORD=ALL”,

       
“SaveLen=18”,

       
LAST);

   
web_submit_form(“reservations.pl”,

       
“Snapshot=t4.inf”,

       
ITEMDATA,

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

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

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

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

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

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

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

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

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

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

       
LAST);

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

       
lr_eval_string(“{outFlightVal_count}”));

   
sprintf(outFlightParamVal, “Value=%s”,

       
lr_eval_string(outFlightParam));

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

   
web_submit_form(“reservations.pl_2”,

      
“Snapshot=t5.inf”,

      
ITEMDATA,

      
“Name=outboundFlight”,outFlightParamVal, ENDITEM,

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

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

       
LAST);

    21.运行情况时提醒“Step download timeout (120 seconds) has expired when downloading resource(s)”

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

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

vuser_init.c(12): Error -27796

           
若是以为下载一个页面超越2分钟不是漏洞百出的话,可以在Run-提姆e设置中拔取Preferences->Options,修改Step
download timeout(sec)的年华

            

           
或者把“Step timeout caused by resources is a
warning”设置为Yes,这样下载资源超时也只是当做警示,不作为错误提醒,然则对于非资源的下载超时,则连年会提醒错误的

 

    22.用strtok函数分割字符串

             需求在loadrunner里面得到“15”(上面青色高亮的部分),并做成关联参数。

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

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

例如:

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

char
separators[] = “,”;

char *
token;

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

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

if (!token) {

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

       
return( -1 );

   
}

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

      
lr_output_message (“%s”, token );

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

  
}

    23.LoadRunner没有购进webservice协议的license,只有http的,好如故不好完全用http协议模拟webservice?

可以,参考:

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

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

    24.在万象设置中不忽视思考时间,但是在查阅响应时间的时候怎么让LR自动在响应时间里减去思考时间?

         在analysis中找到了设置是或不是在报告中富含思考时间的地方做相应的安装即可:

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

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

    26.测试RTMP协议应该在LoadRunner选取怎么着协议来录制?

用flex协议

有那多少个函数可用:

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

flex_rtmp_disconnect  Disconnects a client
from an RTMP server. 

flex_rtmp_send  Sends messages to an RTMP
server. 

flex_rtmp_receive  Receives responses from an
RTMP server

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

To enable
RTMP:

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

2 In the
Network > Port Mapping node click Options.

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

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

  1、运行准备:

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

2)录制要求在lr中运作的QTP脚本,并且在QTP脚本中安装工作,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-提姆e
设置中的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: 提姆ed 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 瑟维斯s协议的剧本时正常,但在回放时会出现谬误,提醒甘休脚本运行。

  错误现象:利用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″);

    51. LR中指鹿为马代号为27796的一个化解办法

        错误如下:

52.

1A:注册表不可以访问或写导致的,可以回复注册表或卸载(清除注册表,可以选用工具)重新安装程序。

要启支LR自带的实例的劳务时,出错了,提醒:端口已经被另一个劳动占用,请问一下能不可能和谐修改这一个顺序原来设定的端口啊?

2A:甘休服务之后,在程序的设置目录\WebTours下找到xitami.cfg文件修改portbase值,注意
默许的端口号是portbase+80,portbase值是1000;要把端口号改成8088,就把portbase改为8008,保存之后就是了(8088=8008+80)。然后重启服务

 

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

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

    
负载测试是通过逐步增多系统负荷,测试系统质量的扭转,并最终确定在满意品质目标的图景下,系统所能承受的最大负载量的测试,例如,访问一个页面的响应时间确定不超越1秒,负载测试就是测试在响应时间为1秒时,系统所能承受的最大产出访问用户的数额。

压力测试常常是在高负荷景况下来对系统的安定举行测试,更实用地发现系统稳定的隐患和系统在负载峰值的尺度下效果隐患等。

品质测试:指在肯定的牢笼原则下(指定的软件、硬件、互联网环境等),确定系统所能承受的最大负荷压力。

2.        属性测试包含了哪些测试(至少举出3**种)**

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

3.   简述质量测试的步调

 

第一,分析产品结构,明确性能测试的需求,包括并发、极限、配置和指标等方面的性能要求,必要时基于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的命中情况。

4.         简述使用Loadrunner**的步骤**

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

 

5.         怎么时候可以起来实践品质测试?

  职能测试经过;一般须求展开品质测试的系统,都是用户量相比较大、业务应用相比频仍、相比较根本的作用模块。

6.         LoadRunner**由什么部件组成?**

  A6:主要有三有的构成:

 

7.         你使用LoadRunner**的哪位部件来录制脚本?**

     使用Virtual
User Generator录制测试脚本

8.         LoadRunner**的哪位部件可以效仿多用户并发下回看脚本?**

  LoadRunner的Controller组件。

9.         什么是集合点?设置集合点有怎么样含义?Loadrunner**中安装集合点的函数是哪位?**

     在性质测试进度中,要求效法多量用户在一如既往时刻,访问系统并同时操作某一义务,可以经过配备集合点来促成,多少个用户同时展开某操作;

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

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

10.     怎么是情景?场景的关键有何?怎么样设置场景?

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

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

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

1.选项场景中要求的剧本      2.挑选为对象场景,照旧指定的手工场景      3.设置用户数、设置暴发负载的装备      4.安装举办策略

11.     请解释一下如何录制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,我们录制脚本之前,可以把系统的

 

12.    干什么要创设参数?怎么着创制参数? 参数:在条件变迁时务必时脚本具有环境变化的能力,就需求参数化(客户端发送到服务器端)   1.规定要参数话的数据
  2.设定规则形式来取值

13.   
什么是事关?请解释一下自动关联和手动关联的两样。

涉及:很多构架用sessionid等办法标识不相同任务和数目,应用在历次运行时方法发送数据不尽一致,需求使用的编制对录制的本子进行处理,那种机制叫做关联(服务端发送到客户端)

14.   
场景设置有哪两种方法?

对象场景,手工场景

15.   
您如何找出哪个地方要求关联?请给一部分你所在类型的实例
用户登陆,客户端发送请求后,服务端验证正确性后,发送给客户端sessionid,是某种规则发生。

16.    您在何地设置自动关联选项? 两地方可以安装
1.设置允许录制时展开自动关联,能够自定义规则

2.录制完成后,vuser-scan action for
correlations

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

web_reg_save_param()函数紧要根据必要做涉嫌的动态数据前边和前面的稳定字符串来甄别、提取动态数据,所以在做涉嫌时,须要找出动态数据的左、左边界字符串。

18.   
您在VUGen中曾几何时接纳关闭日志?哪一天选拔标准和扩大日志?
Run-time,log,当调试脚本时,可以只输出错误日志,当在情景找你管加载脚本时,日志自动变成不可用。 Standard Log Option:选取规范日志时,就会在剧本执行进度中,生成函数的业内日志并且输出信息,供调试用。大型载重测试场景不用启用那一个选项。增加日志包罗警告和别的音信。大型载重测试并非启用该选项。用伸张日志选项,可以指定哪些附加新闻须要加到伸张日志中

19.   
您怎么调节LoadRunner脚本? VuGen有五个选项援助调节Vuser脚本。Run Step by Step命令和断点(breakpoints)。Option对话框中的调试设置(Debug setting)项,可以确定在万象执行进程中推行轨迹范围。调试新闻写在output窗口。可以用
lr_set_debug_messag函数在剧本中手工安装新闻项目。假诺我们只想接受到一小段脚本的调式音信。

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

21.   
何以是逐步递增?你怎么着来安装?
Ramp up那一个选项用于逐步增多服务器的虚拟用户数或负载量。设置一个伊始值而且可以在七个迭代之间设置一个值等待。设置Ramp up,请到‘Scenario Scheduling Options’。

22.    以线程情势运行的虚构用户有怎么样亮点?
VuGen提供了用二十四线程的有利。那使得在各类生成器上可以跑越多的杜撰用户。借使是以进度的形式跑虚拟用户,为各种用户加载相同的驱动程序到内存中,由此占有了大气的内存。那就限制了在单个生成器上能跑的杜撰用户数。要是按线程运行,给定的具有虚拟用户数(比如100)只是加载一个驱动程序实例到内存里。每个线程共用父驱动程序的内存,因而在各类生成器上能够跑越多的虚构用户。

23.   
当你要求在失误时停下实施脚本,你怎么办?
lr_abort函数扬弃虚拟用户脚本的实践。表明虚拟用户为止Action的举行,直接实施vuser_end然后了却执行。在产出谬误情形下想手工扬弃脚本的实施,这些函数是立见功效的。用这一个函数甘休脚本时,Vuser被指定为“Stopped”状态。为了这些函数起效果,早先时候就无法接纳Run-提姆e Settings中的Continue on
error选项。

24.    响应时间和吞吐量之间的涉嫌是何等?
吞吐量图展现的是杜撰用户每分钟从服务器收到到的字节数。当和响应时间相比时,可以窥见随着吞吐量的下挫,响应时间也下落,同样的,吞吐量的峰值和最大响应时间大致在同时出现。

25.   
说飞鹤(Friso)下怎么着在LR中配置系列计数器?
通过Web资源监视器,利用那个监控器可以分析web服务器的吞吐量、点击率、每秒http响应数以及每秒下载的页面数。

26.   
什么是think time?think_time有啥样用?
思考时间是实际用户在action之间等待的时光。例如:当一个用户从服务器收到到多少时,用户可能必要在响应此前等待几分钟回看数据,这种推迟被叫作思考时间。

27.   
正式日志和增加日志的区分是什么? Standard Log Option:拔取专业日志时,就会在本子执行进度中,生成函数的科班日志并且输出新闻,供调试用。大型载重测试场景不用启用这些选项。伸张日志包蕴警告和其余信息。大型载重测试并非启用该选项。用扩张日志选项,可以指定哪些附加新闻必要加到扩张日志中

28.   
诠释以下函数及他们的不一样之处。
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中它运行用于当前数据库

29.   
哪些是吞吐量? 单位时间内系统处理客户端的请求数。

30.    action**和init、end除了迭代的分别还有任何吗?**

在init、end中不可以利用集合点、事务等, init、end只举办四次。

31.   
**
在哪些地点设置HTTP页面filter?**

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

32.    pot
mapping的规律是何等?

      
就是代理服务器

33.    HTTP的超时有哪三种?

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

34.   
**
怎么是contentcheck?如何来用?**

ContentCheck的安装是为着让VuGen检测何种页面为错误页面。要是被测的Web应用尚未选用自定义的错误页面,那么这里并非作变更;即使被测的Web应用使用了自定义的不当页面,那么那里须要定义,以便让VuGen在运转进度中检测,服务器再次来到的页面是不是带有预约义的字符串,进而判断该页面是还是不是为不当页

面。如若是,VuGen就止住运作,提醒运行败北。

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

35.    network**中的speed
simulation是模仿的哪些带宽?**

模仿用户访问速度的带宽。

36.   
**
生成WEB质量图有啥样含义?几乎讲述即可。**

可以很直观的见到,在负载下系统的运转处境以及各类资源的应用处境,可以对系统的性质瓶颈定位、质量调优等起到想要的协助效用。

37.   
**
万一刷新controller里的台本?**

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

38.   
进程和线程有如何分别

线程有温馨的大局数据。线程存在于经过中,因而一个经过的全局变量由拥有的线程共享。由于线程共享同样的连串区域,操作系统分配给一个进程的资源对该进程的有所线程都是可用的,正如全局数据可供所有线程使用同样。在Controller旅长使用驱动程序(如mdrv.exe、r3vuser.exe)运行vuser。借使按进度运行每个vuser,则对此每个vuser实例,都将反复启动同一驱动程序并将其加载到内存中。将同一驱动程序加载到内存中会占用大量的RAM(随机存储器)及其余系统资源。这就限制了足以在任一负载生成器上运行的vuser数量。如若按线程运行每个vuser,Controller为每50个vuser(默许情状下)仅启动驱动程序(如mdrv.exe)的一个实例。该驱动程序将起动多少个vuser,每个vuser都按线程运行。那么些线程vuser将共享父驱动进程的内存段。那就撤消了累累再一次加载驱动程序/进度的必要,节省了大气内存空间,从而可以在一个负载生成器上运行越多的Vuser.

39.   
什么样把剧本和结果放到load
generator的机器上?

    在controller中,点击Results-Results
settings,在里边举行对应的装置即可。

40.   
怎么样设置才能让集合点只对一半的用户生效?

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

41.    LRd**的API分为几类**

A:通用的API:,就是跟实际的协商无关,在其它琢磨的台本里都能用的;

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

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

42.   
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】:提取结果集中得下一条记下

43.   
品质瓶颈分析方法?

同一场景 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
提姆e)一直很低,则设有着电脑阻塞。 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(死锁的数码/秒):死锁对应用程序的可伸缩性非凡侵害,并且会导致恶劣的用户体验。该计数器的值必须为

相关文章