LR 常见问题采访及总

同等: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-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″);

    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-Time Settings中的Continue on
error选项。

24.    一呼百应时间和吞吐量中的涉是什么?
吞吐量图显示的凡编造用户每秒钟从服务器收到至之字节数。当跟响应时间较时,可以窥见随着吞吐量的落,响应时间为下跌,同样的,吞吐量的峰值和无限特别应时间基本上在同时出现。

25.    证实一下怎么当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
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以避免磁盘排序。
内存排序命中率:

相关文章