Loadrunner学习经验.docx_第1页
Loadrunner学习经验.docx_第2页
Loadrunner学习经验.docx_第3页
Loadrunner学习经验.docx_第4页
Loadrunner学习经验.docx_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Loadrunner学习经验目录使用LoadRunner测试时需要注意以下环节的操作:1LoadRunner在使用时遇到的问题及解决方法2如何在Controller中添加系统资源检测6LoadRunner监控Windows/Unix系统资源需要做两件事情:6监控linux8unix/linux的计数器12loadrunner回放脚本常见问题及解决方法14lr_eval_string()函数以及LR中参数、变量的简单使用19给出一部分常用的LoadRunner函数,供大家参考。20使用LoadRunner测试时需要注意以下环节的操作:1、测试服务器再承受压力时,要尽量避免网络造成的瓶颈问题,即服务端和客户端一定要再同一局域网内,否则网络因素可能会造成性能测试的瓶颈,无法发现真正的瓶颈。2、再性能测试脚本中要注意检查点的设置,否则将难以发现脚本本身的错误。3、设置参数化和关联是性能测试脚本能顺利回放的关键,所以要对录制好的脚本进行完善。4、录制脚本时通常会包括一些思考时间(Think Time),因此再回放脚本时,应注意再设置中设置忽略思考时间,否则会影响测试数据的准确性。对一个系统用同一策略进行两次测试时,忽略思考时间将使测试结果更准确。5、尽量为每个页面设置一个事务,否则不知哪个页面最慢。6、运行性能测试脚本时应该关闭日志功能,再调试脚本时在打开。7、性能测试前的数据准备很重要,如:系统数据库中存在60和60000条数据,测试结果肯定是不一样的,应尽量按照真实环境的数据量进行测试。8、在性能测试时每个用户登陆的用户名和密码应尽量不同。9、录制时若录制不到信息,可查看ie局域网设置中,是否去掉了“自动检测网络”一项。10、通用Vuser函数和特定于协议的函数,他们二者共同构成了LR API,并使Vuser能直接与服务器通信。录制后的脚本具有跨平台特性。11、通常情况下,可以将登陆到服务器的活动录制到init中,客户端活动录制到actions中,将注销活动录制到end中。LoadRunner在使用时遇到的问题及解决方法1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。 启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题 提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。因此建议运行LoadRunner得主机上保持一个干净的测试环境。 2.录制Web脚本时,生成的脚本中存在乱码该如何解决? 录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选“Support charset”,然后选择中支持UTF-8。再次录制,就不会出现中文乱码问题了。 3.HTML-based script与URL-based script的脚本有什么区别? 使用“HTML-based script”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;使用“URL-based script”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。 通常,基于浏览器的Web应用会使用“HTML-based script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的JavaApplet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS安全协议,这时使用“URL-based script”模式进行录制。 4.为什么脚本中添加了检查方法Web-find,但是脚本回放时却没有执行? 由于检查点功能会耗费一定的资源,因此LoadRunner默认关闭了对文本及图像的检查。要想开启检查功能,必须修改运行时的配置Run-time Setting。 进入“Run-time Setting”对话框,依次进入“Internet ProtocolPreferences”,勾选Checks下的“Enable Image and text check”选项即可。 检查执行结果时推荐使用web_reg_find方法。 5.运行时的Pacing设置主要影响什么? Pacing主要用来设置重复迭代脚本的间隔时间。共有三种方法:上次迭代结束后立刻开始、上次迭代结束后等待固定时间、按固定或随机的时间间隔开始执行新的迭代。 根据实际需要设置迭代即可。通常,没有时间间隔会产生更大的压力。 6.运行时设置Log标签中,如果没有勾选“Enable logging”,则手工消息可以发送吗? Enable logging选项仅影响自动日志记录和通过lr_log_message发送的消息。即使没有勾选,虚拟用户脚本中如果使用lr_message、lr_output_message、lr_error_message,仍然会记录其发出的消息。 7.LoadRunner 8.0版本的VuGen在录制Web Services协议的脚本时一切正常,而回放时报出错误提示“Error:server returned an incorrectly formatted SOAP response”。这时说明原因引起的? 造成这种情况的主要原因是LoadRunner 8.0的VuGen在录制Web Service协议的脚本时存在一个缺陷:如果服务器的操作系统是中文的,VuGen会自动将WSDL文件的头改为,因此会有上面的错误提示。 解决方法:把“LR80WebservicesFPI_setup.exe”和“lrunner_web_sevices_path_1.exe”两个补丁打上即可解决。 8.VuGen支持Netscape的客户证书吗? 不支持。目前的VuGen 8.0版本中仅支持Internet Explorer的客户端证书。录制脚本时可以先从Netscape中导出所需的证书,然后将其导入到Internet Explorer中,并确保以相同的顺序导出和导入这些证书。而且,在每台将要录制或运行需要证书的Web Vuser脚本的计算机上都要重复执行前面的过程。 9.VuGen会修改录制浏览器中的代理服务器设置吗? 会修改。在开始录制基于浏览器的Web Vuser脚本时,VuGen首先会启动指定的浏览器。然后,VuGen会指示浏览器访问VuGen代理服务器。为此,VuGen会修改录制浏览器上的代理服务器设置。默认情况下,VuGen会立即将代理服务器设置更改为Localhost:7777。录制之后,VuGen会将原始代理服务器设置还原到该录制浏览器中。因此,在VuGen进行录制的过程中,不可以更改代理服务器设置,否则将无法正常进行。 10.在LoadRunner脚本如何输出当前系统时间? LoadRunner提供了char *ctime(const time_t *time)函数,调用参数为一个Long型的整数指针,用于存放返回时间的数值表示。 调用语句与返回值如下示例: typedef long time_t; Action() time_t t; lr_message(“Time in seconds since1/1/70: %ldn”,time(&t); lr_message(“System time and date: %s”,ctime(&t); 复制代码 输出结果为: Time in seconds since1/1/70: 1185329968 System time and date:Wed Jul 25 10:19:28 2007 11.一些Web虚拟用户脚本录制后立刻回放没有任何问题,但是当设置迭代次数大于1时,如果进行回放则只能成功迭代一次。为什么从第二次迭代开始发生错误? 这种现象多是由于在“Run-time Setting”的“Browse Emulation”的设置中,勾选了“Simulate a new user on each iteration”及其下面的选项“Clear cache on each iteration”这两个选项的含义是每次迭代时模拟一个新的用户及每次迭代时清除缓存。 由于脚本迭代时,init和end只能执行一次,如果每次迭代都模拟一个新的用户并清除缓存, 则用户登录信息将一并清除,因此迭代时可能会发生错误。 12.虚拟客户脚本“Run-time Setting”中的线程和进程运行方式的区别? 如果选择“Run Vuser as a process”,则场景运行时会为每一个虚拟用户创建一个进程;选择“Run Vuser as a thread”则将每个虚拟用户作为一个线程来运行,在任务管理器中只看到一个mmdrv.exe,这种方式的运行效率更高,能造成更大的压力,时默认选项。 另外,如果启用了IP欺骗功能,则先在Controller中选中Tools菜单下的“Expert Mode”,然后将Tools菜单下的“OptionsGeneral”标签页中的IP地址分配方式也设置为与Vuser运行方式一致,同为线程或进程方式。 13.在Controller中运行Web相关测试场景时,经常会有很多超时错误提示,如何处理这类问题? 这主要有脚本的默认超时设置引起。当回放Web脚本时,有时候由于服务器响应时间较长,会产生超时的错误。这时需要修改脚本的运行时配置。 进入“Run-time Setting”对话框后,依次进入“Internet ProtocolPreference”。然后点击“Options”按钮,进入高级设置对话框,可以修改各类超时设置的默认值。 14.为什么Windows系统中的CPU、内存等资源仍然充足,但是模拟的用户数量却上不去? 在Windows计算机的标准设置下,操作系统的默认限制只能使用几百个Vuser,这个限制与CPU或内存无关,主要是操作系统本身规定了默认的最大线程数所导致。要想突破Windows这个限制,须修改Windows注册表。以Windows XP Professional为例。 (1)打开注册表后,进入注册表项HKEY_LOCAL_MACHINE中的下列关键字:SystemCurrentControlSetControlSession ManagerSubSystems。 (2)找到Windows关键字,Windows关键字如下所示: %SystemRoot%system32csrss.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操作系统的限制,而只受硬件和内部可伸缩性限制的约束。 如何在Controller中添加系统资源检测今天早上突然想把Windows的性能监视放到LR中,达到方便快捷的目的,下面的是具体的步骤:1、使用59作为监控的对象,开通Remote Procedure Call和Remote Registry两个服务,Remote Registry一般都是给禁止的,可以改为手动并启动;2、在159中右击我的电脑,选择管理-共享文件夹-共享 在这里面要有C$这个共享文件夹;3、在159中使用命令netstat /ano查看445端口是否被打开;4、输入59c$,再输入用户名和密码,如果能进入c盘,那就说明有控制权了;5、在Controller的Run中找到Windows Resources,对图点击右键中的Add Measurements,添加计数器;6、需注意159机上的BlackIce;7、对Windows Resources Graph的技巧使用,可以冻结窗体,导出HMTL,显示某个计数器等;LoadRunner监控Windows/Unix系统资源需要做两件事情:1、配置被监视的服务器,以便于LoadRunner能够获取系统资源使用情况的数据2、在LoadRunner的Controller中添加计数器添加计数器比较简单,这里主要讲如何配置Windows/Unix服务器。一、配置UNIX系统:1、 修改/etc/xinetd.d/下的三个conf文件 rlogin , rsh ,rexec 这三个配置文件,把这三个文件里的disable =yes都改成 disable = no ( disabled 用在默认的 中 禁止服务),或是把# default: off都设置成 on 这个的意思就是在xinetd启动的时候默认都启动上面的三个服务。2、 执行: rpc.rstatd3、 检查是否启动rstatd,输入命令: rpcinfo p。如果能看到:程序 版本 协议 端口* * udp 741 rstatd那就说明rstatd服务启动了4、 LR中添加计算器如果系统没有安装rstatd的话,上面的操作将会不成功,需要先安装rstatd,安装rstatd过程很简单:1、从安装光盘或网上找到安装文件(一般是rstatd*.tar.gz)2、解压缩安装包:tar xzvf rstatd*.tar.gz3、进入源文件目录运行配置文件和编译:$ ./configure$ make$ make install安装好之后,就按上面的步骤启动rstatd即可。(说明:以上的操作需要root用户权限)二、配置windows系统1、 保证被监视的windows系统开启以下二个服务:Remote Procedure Call(RPC) 和Remote Registry Service2、 获得对远程计算机的管理权限,请在命令提示符(运行cmd命令)下执行以下命令:net use /用户:提示输入密码时,输入远程计算机的密码。例如:net use 7 administratornet use 7 /user:administrator如果提示错误,则不加用户名:net use 7需要用户名和密码的话,系统会提示输入用户名和密码,按提示做即可。如果看到“命令成功完成”的提示,则说明配置成功了。监控linux1 准备工作可以通过两种方法验证服务器上是否配置了rstatd守护程序:使用rup命令,它用于报告计算机的各种统计信息,其中就包括rstatd的配置信息。使用命令rup 03,此处03是要监视的linux/Unix服务器的Ip,如果该命令返回相关的统计信息。则表示已经配置并且激活了rstatd守护进程;若未返回有意义的统计信息,或者出现一条错误报告,则表示rstatd守护进程尚未被配置或有问题。使用find命令#find / -name rpc.rstatd,该命令用于查找系统中是否存在rpc.rstatd文件,如果没有,说明系统没有安装rstatd守护程序。如果服务器上没有安装rstatd程序(一般来说LINUX都没有安装),需要下载一个包才有这个服务,包名字是rpc.rstatd-4.0.1.tar.gz. 这是一个源码,需要编译,下载并安装rstatd(可以在url/projects/urlrstatd这个地址下载)下载后,开始安装,安装步骤如下:tar -xzvf rpc.rstatd-4.0.1.tar.gzcd rpc.rstatd-4.0.1/./configure 配置操作make 进行编译make install 开始安装rpc.rstatd 启动rstatd进程2)安装完成后配置rstatd 目标守护进程xinetd,它的主配置文件是/etc/xinetd.conf,它里面内容是一些如下的基本信息:# xinetd.conf# Copyright (c) 1998-2001 SuSE GmbH Nuernberg, Germany.# Copyright (c) 2002 SuSE Linux AG, Nuernberg, Germany.#defaultslog_type = FILE /var/log/xinetd.loglog_on_success = HOST EXIT DURATIONlog_on_failure = HOST ATTEMPT#only_from = localhostinstances = 30cps = 50 10# The specification of an interface is interesting, if we are on a firewall.# For example, if you only want to provide services from an internal# network interface, you may specify your internal interfaces IP-Address.# interface = includedir /etc/xinetd.d我们这里需要修改的是/etc/xinetd.d/下的三个conf文件 rlogin,rsh,rexec这三个配置文件,打这三个文件里的disable = yes都改成 disable = no ( disabled 用在默认的 中 禁止服务)或是把# default: off都设置成 on 这个的意思就是在xinetd启动的时候默认都启动上面的三个服务!说明:我自己在配置时,没有disable = yes这项,我就将# default: off改为:default: on,重启后(cd /etc/init.d/ ./xinetd restart)通过netstat -an |grep 514查看,没有返回。然后,我就手动在三个文件中最后一行加入disable = no,再重启xinetd,再使用netstat -an |grep 514查看,得到tcp 0 0 :514 :* LISTEN结果,表明rsh服务器已经启动。只要保证Linux机器上的进程里有rstatd和xinetd这二个服务就可以用LR去监视了。两点小的技巧:检查是否启动: rsh server 监听的TCP 是514。rootmg04 root# netstat -an |grep 514tcp 0 0 :514 :* LISTEN如果能看到514在监听说明rsh服务器已经启动。检查是否启动: rstatd输入命令: rpcinfo -p如果能看到类似如下信息:程序 版本 协议 端口100001 5 udp 937 rstatd100001 4 udp 937 rstatd100001 3 udp 937 rstatd100001 2 udp 937 rstatd100001 1 udp 937 rstatd那就说明rstatd服务启动了,(当然这里也可以用ps ax代替)重起xinetd方法:在suse linux如下操作:cd /etc/init.d/./xinetd restart看到网上有的地方说使用如下命令:# service xinetd reload# /sbin/service xinetd rstart不知道是在什么系统用的。安装rsh,和rsh-server两个服务包方法a. 卸载rsh# rpm q rsh-查看版本号# rpm -e 版本号-卸载该版本。b安装# rpm ivh rsh-0.17-14.i386.rpm rsh-server-0.17-14.i386.rpm在启动rpc.rstatd时,会报错“Cannot register service: RPC: Unable to receive;errno = Ction refused”。解决方法如下:# /etc/init.d ./portmap start# /etc/init.d ./nfs start然后再次启动rpc.rstatd就好了。最后,在controller中,将UNIX resources拖放到右边窗口里面,右击鼠标选择Add Measurements,添加被监控linux的IP地址,然后选择需要监控的指标就可以了。三、监控UNIXlr监控UNIX,UNIX先启动一rstatd服务以下是在IBM AIX系统中启动rstatd服务的方法:1、 使用telnet以root用户的身份登录入AIX系统2、 在命令行提示符下输入:vi/etc/inetd.conf3、 查找rstatd,找到#rstatd sunrpc_udp udp wait root /usr/sbin/rpc.rstatd rstatd 100001 1-34、将#去掉5、:wq保存修改结果6、命令提示符下输入:refresh s inetd 重新启动服务。这样使用loadrunner就可以监视AIX系统的性能情况了。注:在HP UNIX系统上编辑完inetd.conf后,重启inetd服务需要输入inetd -cUNIX上也可以用rup命令查看rstatd程序是否被配置并激活若rstatd程序已经运行,重启时,先查看进程ps -ef |grep inet,然后杀掉进程,再refresh s inetd进行重启。unix/linux的计数器在lr中配置从LR里面add measurement,填写linux机器的IP,出现所有unix/linux的计数器,包括cpu的,mem的,disk,network的。介绍几个常用的:average load :在过去的1分钟,的平均负载cpu utilization:cpu的使用率disk traffic:disk传输率paging rate:每秒从磁盘读到物理内存,或者从物理内存写到页面文件的内存页数Swap-in rate:每秒交换到内存的进程数Swap-out rate:每秒从内存交换出来的进程下列默认度量可用于 UNIX 计算机:度量描述Average load上一分钟同时处于“就绪”状态的平均进程数Collision rate每秒钟在以太网上检测到的冲突数Context switches rate每秒钟在进程或线程之间的切换次数CPU utilizationCPU 的使用时间百分比Disk rate磁盘传输速率Incoming packets error rate接收以太网数据包时每秒钟接收到的错误数Incoming packets rate每秒钟传入的以太网数据包数Interrupt rate每秒内的设备中断数Outgoing packets errors rate发送以太网数据包时每秒钟发送的错误数Outgoing packets rate每秒钟传出的以太网数据包数Page-in rate每秒钟读入到物理内存中的页数Page-out rate每秒钟写入页面文件和从物理内存中删除的页数Paging rate每秒钟读入物理内存或写入页面文件的页数Swap-in rate正在交换的进程数Swap-out rate正在交换的进程数System mode CPU utilization在系统模式下使用 CPU 的时间百分比User mode CPU utilization在用户模式下使用 CPU 的时间百分比补充一些常见的问题及处理方法:1、在执行配置或安装命令过程中出现“拒绝的权限”的提示;答:是由于文件的权限引起的,应该给当前用户所有文件的“777”权限,即完全控制权限。2、安装好后从LoadRunner中看不到信息,但是没有报错;答:可能是返回的信息值比较小,所以在图中几乎看不到,例如:如果没有运行程序的话,CPU的使用率接近于0,所以在监视图中看不到变化。也有可能是采样的频率过大,可以在图表中设置没1秒获取一次信息,这样界面就刷新的比较及时了。3、监视一段时间后LoadRunner中提示有错误发生不能继续监视到信息;答:可能是由于CPU长时间处于高负荷状态,而导致系统自动关闭了该服务。可以在LoadRunner中重新加一次计数器,并且设置取样的时间稍长一点,就会避免这种情况。4、以前用LoadRunner监视都是成功的,但是再次监视不到信息;答:有可能是由于系统重新启动,而没有打开rstatd守护进程。可以手工重新打开一次,使用命令“rpc.rstatd”,另外可以使用“rpcinfo -p”命令来查看当前系统是否已经启动了rstatd守护进程loadrunner回放脚本常见问题及解决方法1LoadRunner超时错误:在录制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=0:7001/workflow/bjtel/leasedline/ querystat/ subOrderQuery.do错误分析:这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。解决办法:例如上面的错误现象问题定位在某个URL上,需要再次运行一下场景,同时在其他机器上访问此URL。如果不能访问或时间过长,可能是服务器或者此应用不能支撑如此之大的负载。分析一下服务器,最好对其性能进行优化。如果再次运行场景后还有超时现象,就要在各种图形中分析一下原因,例如可以查看是否服务器、DNS、网络等方面存在问题。最后,增加一下运行时的超时设置,在“Run-Time Settings”“Internet Protocol:Preferences”中,单击“options”,增加“HTTP-request connect timeout”或者“HTTP-request receive”的值。2LoadRunner脚本中出现乱码:在录制Web协议脚本时出现中文乱码,在回放脚本时会使回放停止在乱码位置,脚本无法运行。错误现象:某个链接或者图片名称为中文乱码,脚本运行无法通过。错误分析:脚本录制可能采用的是URL-based scrpt方式,如果程序定义的字符集合采用的是国际标准,脚本就会出现乱码现象。解决办法:重新录制脚本,在录制脚本前,打开录制选项配置对话框进行设置,在“Recording Options”的“Advanced”选项里先将“Surport Charset”选中,然后选中支持“UTF-8”的选项。3LoadRunner HTTP服务器状态代码:在录制Web协议脚本回放脚本的过程中,会出现HTTP服务器状态代码,例如常见的页面-404错误提示、-500错误提示。错误现象1:-404 Not Found服务器没有找到与请求URI相符的资源,但还可以继续运行直到结束。错误分析:此处与请求URI相符的资源在录制脚本时已经被提交过一次,回放时不可再重复提交同样的资源,而需要更改提交资源的内容,每次回放一次脚本都要改变提交的数据,保证模拟实际环境,造成一定的负载压力。解决办法:在出现错误的位置进行脚本关联,在必要时插入相应的函数。错误现象2:-500 InternalServerError服务器内部错误,脚本运行停止。错误分析:服务器碰到了意外情况,使其无法继续回应请求。解决办法:出现此错误是致命的,说明问题很严重,需要从问题的出现位置进行检查,此时需要此程序的开发人员配合来解决,而且产生的原因根据实际情况来定,测试人员无法单独解决问题,而且应该尽快解决,以便于后面的测试。4LoadRunner请求无法找到:在录制Web协议脚本回放脚本的过程中,会出现请求无法找到的现象,而导致脚本运行停止。错误现象:Action.c(41): Error -27979: Requested form. not found MsgId: MERR-27979Action.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 scrpt”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的JavaApplet、基于浏览器的应用中包含了向服务器进行通信的Javascrpt/VBscrpt代码、基于浏览器的应用中使用HTTPS安全协议,这时则使用“URL-based scrpt”模式进行录制。解决办法:打开录制选项配置对话框进行设置,在“Recording Options”的“Internet Protocol”选项里的“Recording”中选择“Recording Level”为“HTML-based scrpt”,单击“HTML Advanced”,选择“scrpt Type”为“A scrpt containing explicit”。然后再选择使用“URL-based scrpt”模式来录制脚本。5LoadRunner不执行检查方法:在录制Web协议脚本中添加了检查方法Web_find,但是在脚本回放的过程中并没有执行。错误现象:在脚本中插入函数Web_find,在脚本中设置文本以及图像的检查点,但是在回放过程中并没有对设置的检查点进行检查,即Web_find失效。错误分析:由于检查功能会消耗一定的资源,因此LoadRunner默认关闭了对文本以及图像的检查,所以在设置检查点后,需要开启检查功能。解决办法:打开运行环境设置对话框进行设置,在“Run-time Settings”的“Internet Protocol”选项里的“Perference”中勾选“Check”下的“Enable Image and text check”选项。6LoadRunner回放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文件的头改为,所以才会有此错误提示。解决办法:下载两个补丁,分别为“LR80WebServicesFPI_setup.exe”和“lrunner_web_ services_patch_1.exe”安装上即可。一、Step download timeout (120 seconds)这是一个经常会遇到的问题,解决得办法走以下步骤:1、修改run time setting中的请求超时时间,增加到600s,其中有三项的参数可以一次都修改了,HTTP-request connect timeout,HTTP-request receieve timeout,Step download timeout,分别建议修改为600、600、5000。run time setting设置完了后记住还需要在control组件的option的run time setting中设置相应的参数。2、办法一不能解决的情况下,解决办法如下:设置runt time setting中的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,选项后再回放就成功了。切记此法只对windows系统起作用,此法来自zee的资料。 二、问题描述Connection reset by peer.这个问题不多遇见,一般是由于下载的速度慢,导致超时,所以,需要调整一下超时时间。解决办法:Run-time setting窗口中的Internet ProtocolPreferences设置set advanced options(设置高级选项),重新设置一下“HTTP-request connect timeout(sec),可以稍微设大一些”。 三、问题描述connection refused这个的错误的原因比较复杂,也可能很简单也可能需要查看好几个地方,解决起来不同的操作系统方式也不同。1、首先检查是不是连接weblogic服务过大部分被拒绝,需要监控weblogic的连接等待情况,此时需要增加acceptBacklog,每次增加25%来提高看是否解决,同时还需要增加连接池和调整执行线程数,(连接池数*Statement Cache Size)的值应该小于等于oracle数据库连接数最大值。2、如果方法一操作后没有变化,此时需要去查看服务器操作系统中是否对连接数做了限制,AIX下可以直接vi文件limits修改其中的连接限制数、端口数,还有tcp连接等待时间间隔大小,wiodows类似,只不过windows修改注册表,具体修改注册表中有TcpTimedWaitDelay和MaxUserPort项,键值在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters。因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。在全部占满后,就会出现上面的错误。执行netstatna命令,可以看到打开了很多端口。所以就调整TCP的time out。即在最后一个端口还没有用到时,前面已经有端口在释放了。1,这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。2,也可以把MaxUserPort调大(如果这个值不是最大值的话)。 四、问题描述open many files问题一般都在压力较大的时候出现,由于服务器或者应用中间件本身对于打开的文件数有最大值限制造成,解决办法:1、修改操作系统的文件数限制,aix下面修改limits下的nofiles限制条件,增大或者设置为没有限制,尽量对涉及到的服务器都作修改。2、方法一解决不了情况下再去查看应用服务器weblogic的commonEnv.sh文件,修改其中的nofiles文件max-nofiles数增大,应该就可以通过了,具体就是查找到nofiles方法,修改其中else条件的执行体,把文件打开数调大。修改前记住备份此文件,防止修改出错。3、linux上可以通过ulimitHSn 4096来修改文件打开数限制,也可以通过ulimit -a来查看。4、linux上可以通过lsof -p pid | wc -l来查看进程打开的句柄数。五、问题描述has shut down the connection prematurely一般是在访问应用服务器时出现,大用户量和小用户量均会出现。来自网上的解释:1应用访问死掉小用户时:程序上的问题。程序上存在数据库的问题2应用服务没有死应用服务参数设置问题例如:在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25Java连接池的大小设置,或JVM的设置等3数据库的连接在应用服务的性能参数可能太小了数据库启动的最大连接数(跟硬件的内存有关)以上信息有一定的参考价值,实际情况可以参考此类调试。如果是以上所说的小用户时:程序上的问题。程序上存在数据库的问题,那就必须采用更加专业的工具来抓取出现问题的程序,主要是程序中执行效率很低的sql语句,weblogic可以采用introscope定位,期间可以注意观察一下jvm的垃圾回收情况看是否正常,我在实践中并发500用户和600用户时曾出现过jvm锯齿型的变化,上升下降都很快,这应该是不太正常的。-实际测试中,可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论