新普京娱乐场loadrunner常见难题集中,常见难点采访及总计

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

一:LoadRunner常见难题整治

1.去掉ie设置中的第三方帮衬裁撤掉

      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安装目录中的vugen.exe文件.

      2.LoadRunner录制脚本时怎么不弹出IE浏览器?

  当一台主机上安装多个浏览器时,LoadRunner录制脚本平常遇上不可以打开浏览器的景况,可以用上面的艺术来化解。

  启动浏览器,打开Internet选项对话框,切换来高级标签,去掉“启用第三方浏览器扩大(要求重启动)”的勾选,然后重新运行VuGen即可解决难点

  提示:常常设置Firefox等浏览器后,都会勾选上边得选拔,导致无法正常录制。由此提议运行LoadRunner得主机上保持一个根本的测试环境。

有可能是出于录制的URL地址选用的是localhost的难题,改成分配的IP地址或127.0.0.1蓄势待发。

      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”格局开展录制。

3、插入文本检查点步骤时,使用web_reg_find,常常TextPfx和TextSfx中会包蕴双引号,必要展开转义(用斜杠),例如:

      4.运行时的Pacing设置主要影响什么?

    
Pacing主要用来设置双重迭代脚本的间隔时间。共有三种格局:A:上次迭代为止后马上先导、
B:上次迭代终止后等候固定时间、C:按一定或擅自的岁月间隔开端实践新的迭代。

     依据实际须求设置迭代即可。平常,没有时间距离会生出更大的压力。

web_reg_find(“Search=Body”,

    5.运转时设置Log标签中,如若没有勾选“Enable logging”,则手工信息可以发送吗?

  Enable
logging选项仅影响机关日志记录和经过lr_log_message发送的音讯。就算没有勾选,虚拟用户脚本中借使利用lr_message、lr_output_message、lr_error_message,依旧会记录其发出的新闻。

“SaveCount=Welcome”,

    6.VuGen援救Netscape的客户证书吗?

  不辅助。近期的VuGen 8.0版
本中仅支持Internet
Explorer的客户端证书。录制脚本时可以先从Netscape中导出所需的表明,然后将其导入到Internet
Explorer中,并确保以相同的逐条导出和导入那么些声明。而且,在每台将要录制或运行必要表明的Web
Vuser脚本的微处理器上都要重复执行前边的长河。

“TextPfx=欢迎<a class=\”drop\” id=\”viewpro\”
onMouseOver=\”showMenu(this.id)\”>”,

   7.VuGen会修改录制浏览器中的代理服务器设置吗?

  会修改。在伊始录制基于浏览器的Web Vuser脚
本时,VuGen首先会启动指定的浏览器。然后,VuGen会提示浏览器访问VuGen代理服务器。为此,VuGen会修改录制浏览器上的代理服务器设
置。默许意况下,VuGen会立刻将代理服务器设置更改为Localhost:7777。录制过后,VuGen会将本来代理服务器设置还原到该录制浏览器
中。因而,在VuGen进行录制的经过中,不得以变动代理服务器设置,否则将无法正常进行。

“TextSfx=</a>”,

    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

LAST)

    9.片段Web虚拟用户脚本录制后即时回看没有其他难点,然而当设置迭代次数超越1时,如果进展重播则只好成功迭代四回。为何从第二次迭代开班暴发错误?

  那种气象多是出于在“Run-time
Setting”的“Browse Emulation”的安装中,勾选了“Simulate a new user on each
iteration”及其上面的选项“Clear cache on each
iteration”那么些拔取的含义是每一趟迭代时模拟一个新的用户及每便迭代时解除缓存。

  由于剧本迭代时,init和end只能够执行三次,倘诺老是迭代都效仿一个新的用户并免去缓存,则用户登录消息将一并消除,因而迭代时或许会暴发错误。

2、蒙受flight界面为空的解决的可能方法:

  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运行格局同样,同为线程或进程形式。

1、如若设置了IE以外的浏览器,并且IE不是默认浏览器,则不可能生成录制脚本

  11.在Controller中运作Web相关测试场景时,平日会有好多超时错误提醒,如何处理那类难点?

  那关键有脚本的默许超时设置引起。当回看Web脚本时,有时候是因为服务器响应时间较长,会发出超时的失实。那时要求修改剧本的周转时布署。

  进入“Run-time
Setting”对话框后,依次进入“Internet
Protocol→Preference”。然后点击“Options…”按钮,进入高档设置对话框,可以修改各样超时设置的默许值。

2、如若录制脚本时IE不可以开拓,则必要将浏览器的IE工具高级选项中,将“启用第三方浏览器伸张”的

  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回看引擎。

3、lr自带的webtours系统,若是点击Flights选项,出现空白页面,请检查本机oracle的
PERL5LIB环境

    15.质量测试往往须要准备大量的数据,多量多少的变更方法有很两种,常见的有:

       (1)编写SQL语句来插入数据

(2)使用DataFactory等正规的数量变化工具

       (3)通过LoadRunner录制回看的点子重新执行生成大量数额

       
Tips:

        使用DataFactory插入nchar数据类型的数量时会出现空值的情况,可以先修改数据库的数据类型设置,插完数据后再改回来

 

2.LoadRunner录制脚本时怎么不弹出IE浏览器?

    16.录制脚本中含有汉语,出现乱码怎么做?

           把录制选项中的Support
charset选中UTF-8

          
录制脚本后,切换来树视图中,打开相应的脚本页面。在右手的PageView中录制的本子显示粤语版式,不过当切换来Server
Response中,所有的中文全体换成的乱码,如“勌缞仫訆”。

         
原因是服务器端没有把响应的编码设置为gb2312

在IIS中
找到Web.Config文件,在<system.web>….</system.web>节加入<globalization requestEncoding=”gb2312″ responseEncoding=”gb2312″
fileEncoding=”gb2312″/>后重新录制脚本,乱码变普通话。

  当一台主机上设置多少个浏览器时,LoadRunner录制脚本平时际遇无法开拓浏览器的景观,可以用上边的艺术来缓解。

    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);

  启动浏览器,打开Internet选项对话框,切换来高级标签,去掉“启用第三方浏览器扩大(须要重启动)”的勾选,然后再次运行VuGen即可解决难题

    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.

  提醒:常常设置Firefox等浏览器后,都会勾选上边得选用,导致无法健康录制。由此提出运行LoadRunner得主机上保持一个完完全全的测试环境。

    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.

3.HTML-based script与URL-based
script的脚本有如何分别?

    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);

行使“HTML-based
script”的方式录制脚本,VuGen为用户的各类HTML操作生成单身的手续,那种本子看上去比较直观;

    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,那样下载资源超时也只是当做警示,不作为错误提醒,然而对于非资源的下载超时,则一而再会唤起错误的

 

应用“URL-based
script”格局录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应措施。

    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

  
}

  寻常,基于浏览器的Web应用会采纳“HTML-based
script”情势来录制脚本;而尚未根据浏览器的Web应用、Web应用中含有了与服务器进行交互的Java
Applet、基于浏览器的选取中蕴藏了向服务器举办通讯的JavaScript/VBScript代码、基于浏览器的施用中运用了HTTPS安全协议,这时使用“URL-based
script”格局展开录制。

    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/

4.运作时的Pacing设置紧要影响什么?

    24.在场景设置中不忽视思考时间,可是在翻看响应时间的时候怎么让LR自动在响应时间里减去思辨时间?

         

在analysis中找到了设置是不是在报告中包蕴思考时间的地点做相应的安装即可:

 
Pacing首要用来设置双重迭代脚本的间隔时间。共有二种艺术:A:上次迭代了却后立即起首、
B:上次迭代完工后等候固定时间、C:按一定或擅自的年月距离开首实践新的迭代。

    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.

   5.运作时设置Log标签中,假诺没有勾选“Enable
logging”,则手工信息可以发送吗?

    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

  Enable
logging选项仅影响机关日志记录和由此lr_log_message发送的音讯。固然没有勾选,虚拟用户脚本中一旦使用lr_message、lr_output_message、lr_error_message,仍然会记录其暴发的音信。

    28.在LR中什么忽略Socket接收数据的表达

在LR中对Socket举办质量测试时,LR会自己判断lrs_receive回来的多寡的长度,而如若长度不符的话会有时光推移的情况(那是性质测试完全无法经受的作业),假如成功那或多或少吧,经过反复品味,发现一种简易的措施(用*代表具体的尺寸):

好像于将:

recv buf1
12

“Hello,
Denny”

改为:

recv buf1
*

“Hello,
Denny”

一切OK。

   6.VuGen支持Netscape的客户证书吗?

    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

  不协理。近期的VuGen 8.0版本中仅援救Internet
Explorer的客户端证书。录制脚本时可以先从Netscape中导出所需的讲明,然后将其导入到Internet
Explorer中,并确保以同一的次第导出和导入这几个讲明。而且,在每台将要录制或运行需求评释的Web
Vuser脚本的处理器上都要再次执行前边的进度。

    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对象即可

   7.VuGen会修改录制浏览器中的代理服务器设置吗?

    31.loadrunner9.5录制脚本时出现c:\PROGRA~1\MICROS~1\office12\Grooveutil.DLL时出错内存地点访问无效

             
Office2007的题材,IE加载项禁用Groove 
GFSBrowser Helper 组件

  会修改。在开始录制基于浏览器的Web
Vuser脚本时,VuGen首先会启动指定的浏览器。然后,VuGen会提示浏览器访问VuGen代理服务器。为此,VuGen会修改录制浏览器上的代理服务器设置。默认景况下,VuGen会立时将代理服务器设置更改为Localhost:7777。录制过后,VuGen会将原有代理服务器设置还原到该录制浏览器中。因而,在VuGen举办录制的进度中,不得以变动代理服务器设置,否则将无法正常举办。

    32.LR自带的事例端口号怎么修改?

         
LR自带的例证端口号是1080,我怎样把这几个端口设置本身要好想用的端口号8088,在什么样地点设置在LR安装目录下,找到Xitami.config文件,找到portbase,可以修改它(默许是1000);

默许的端口号是portbase+80;要把端口号改成8088,就把portionbase改为8008,保存之后就是了(8088=8008+80)。

   8.在LoadRunner脚本怎么样输出当前系统时间?

    33.用Web_reg_find查找汉语字符串时寻找不到

        
   脚本文件里有个default.cfg,里面有个参数是
UTF8InputOutput ,将其值改为0

  LoadRunner提供了char *ctime(const time_t
*time)函数,调用参数为一个Long型的平头指针,用于存放重返时间的数值表示。

    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.

  typedef long time_t;

    36.请问”int64那一个项目,在LR中怎么表示”。我将一段C的代码放在LR中,LR不认int64那么些类型,怎么解决?

 把那段C代码做成DLL,然后在LR中调用

  Action()

    37.LoadRunner督察长途机器Windows资源,提醒“net use failed”

解决办法:

在被监控机器上改动本地帐户的共享和安全情势为经典方式。控制面板->管理工具->本地安全策略->互连网访问:本地帐户的共享和新余形式->经典格局。

蹲点连接前的备选干活:

率先有限支撑被监视的windows系统开启以下二个服务Remote
Procedure Call(RPC) 和Remote Registry 瑟维斯

被监视的WINDOWS机器:右击我的微机,选择管理->共享文件夹->共享
在那其间要有C$这些共享文件夹,(假使没有协调手动加)

然后有限支撑在设置LR的机器上运用运行.输入\\被监视机器IP\C$
然后输入管理员帐号和密码,如果能看到被监视机器的C盘了,就认证你拿走了那台机械的总指挥权限,可以选取LR去老是了

  {

   38.LoadRunner脚本中冒出乱码难题现象某个链接或者图片名称为华语乱码,脚本运行不可能透过。

  错误分析
  脚本录制可能接纳的是URL-based
script方式,借使程序定义的字符集合选用的是国际标准,脚本就会现出乱码现象。
  解决办法重新录制脚本,在录制脚本前,打开录制选项配置对话框进行安装,在“Recording
Options”的“Advanced”选项里先将“Surport
Charset”选中,然后选中帮助“UTF-8”的选项。

  time_t t;

    39.LoadRunner不履行检查格局不当现象在本子中插入函数Web_find,在本子中安装文本以及图像的检查点,可是在回看进程中并不曾对安装的检查点举行自我批评,即Web_find失效。

  错误分析
  由于检查职能会消耗一定的资源,因而LoadRunner默许关闭了对文本以及图像的数额实施保养检查,所以在安装检查点后,需求打开检查职能。
  解决办法打开运行环境设置对话框举行设置,在“Run-time
Settings”的“Internet
Protocol”选项里的“Perference”中勾选“Check”下的“Enable Image and text
check”选项。
  
须要注意的是,重播脚本时现身的失实有时是程序自身的案由导致的,由此在化解脚本回看难题前务必确保程序录制出的脚本是科学的。

  lr_message(“Time in seconds since 1/1/70: %ld\n”,time(&t));

  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-提姆e
Settings”>“Internet
Protocol:Preferences”中,单击“options”,扩充“HTTP-request connect
timeout” 或者“HTTP-request receive”的值。

  lr_message(“System time and date: %s”,ctime(&t));

  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”形式来录制脚本。

  Time in seconds since 1/1/70: 1185329968

  44.LoadRunner不实施检查办法:在录制Web商事脚本中添加了检查措施Web_find,可是在本子回看的进程中并不曾进行。

  错误现象:在剧本中插入函数Web_find,在本子中安装文本以及图像的检查点,可是在重播过程中并不曾对安装的检查点进行自我批评,即Web_find失效。

  错误分析:由于检查职能会开销一定的资源,由此LoadRunner默许关闭了对文件以及图像的检讨,所以在设置检查点后,须求开启检查效率。

解决办法:打开运行环境设置对话框进行安装,在“Run-time
Settings”的“Internet
Protocol”选项里的“Perference”中勾选“Check”下的“Enable Image and text
check”选项。

  System time and date:Wed Jul 25 10:19:28 2007

  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”安装上即可。

  9.有的Web虚拟用户脚本录制后立刻回看没有此外难点,然则当设置迭代次数超越1时,如若展开回放则只好成功迭代一遍。为啥从第二次迭代开始爆发错误?

    46.LR启动controller报错“transaction monitor not available”

1.多是OS系统问题,修复试试或升级

2.或修复LR试试

  那种景色多是出于在“Run-time Setting”的“Browse
Emulation”的安装中,勾选了“Simulate a new user on each
iteration”及其上面的选项“Clear cache on each
iteration”这八个选项的含义是每一趟迭代时模拟一个新的用户及每一遍迭代时解除缓存。

    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 。

  由于剧本迭代时,init和end只可以举行三回,假设老是迭代都仿效一个新的用户并清除缓存,则用户登录新闻将一并排除,因而迭代时或许会时有暴发错误。

    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)也为相应的值。

  10.虚拟客户脚本“Run-time
Setting”中的线程和进程运行形式的不一样?

    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/

  假诺选用“Run Vuser as a
process”,则场景运行时会为每一个虚拟用户创制一个经过;接纳“Run Vuser as a
thread”则将每个虚拟用户作为一个线程来运行,在义务管理器中只见到一个mmdrv.exe,那种办法的运行作用更高,能促成更大的下压力,时默许选项。

    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″);

  其它,如果启用了IP欺骗功用,则先在Controller中选中Tools菜单下的“Expert
Mode”,然后将Tools菜单下的“Options>General”标签页中的IP地址分配格局也安装为与Vuser运行情势同样,同为线程或进度格局。

    51. LR中错误代号为27796的一个解决办法

        错误如下:

52.

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

要启支LR自带的实例的服务时,出错了,提醒:端口已经被另一个劳务占用,请问一下能无法友好修改这几个程序原来设定的端口啊?

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

 

  11.在Controller中运作Web相关测试场景时,平时会有过多逾期错误提醒,怎么着处理那类难题?

二: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
提姆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 提姆e和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,则应加徐熙媛(英文名:Barbie Hsu)(Barbie Hsu)ORT_AREA_SIZE以免止磁盘排序。
内存排序命中率:

  那重大有脚本的默许超时设置引起。当回看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-提姆e 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
瑟维斯s协议脚本错误: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应用服务器、数据库服务器必需测试项):
*Processor提姆e:指服务器CPU占用率,一般平均达到70%时,服务就类似饱和;
*Memory Available
Mbyte:可用内存数,要是测试时发现内具备变化景况也要小心,如若是内存败露则比较严重;
*Physicsdisk 提姆e :物理磁盘读写时间情状。
二是,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.是还是不是记录录制进程中的Think提姆e,假如记录,还是可以设置最大值,一般我不记录这些值。
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-提姆e
    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
提姆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 提姆e和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,则应加徐熙媛(英文名:Barbie Hsu)(英文名:Barbie Hsu)ORT_AREA_SIZE以免止磁盘排序。

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

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图