




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
压力测试常见问题记录1.LoadRunner录制脚本时为什么不弹出IE浏览器?当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。因此建议运行LoadRunner得主机上保持一个干净的测试环境。2.在Controller中运行Web相关测试场景时,经常会有很多超时错误提示,如何处理这类问题?这主要有脚本的默认超时设置引起。当回放Web脚本时,有时候由于服务器响应时间较长,会产生超时的错误。这时需要修改脚本的运行时配置。进入“Run-time Setting”对话框后,依次进入“Internet ProtocolPreference”。然后点击“Options”按钮,进入高级设置对话框,可以修改各类超时设置的默认值。3.如何让场景的用户执行发生错误继续运行,以保证不间断进行压力测试?用VuGen打开虚拟用户脚本后,进入“Run-time Settings”对话框后,依次进入“GeneralMiscellaneous”,可以看到Miscellaneous设置中关于“Error Handling”的配置。勾选“Continue on error”即可让虚拟用户发生错误继续运行。4.测试分析结果中会统计Action时间,而实际上可能并不须要这些数据,如何只显示自己定义的用户事务?进入脚本的运行时设置,依次进入GeneralMiscellaneous。默认情况下,自动事务配置“Automatic Transactions”下有两个选项:第一个是把脚本的Action部分定义为一个事务;第二个时把脚本的每一部分定义为一个事务。去掉这两个勾选后,测试结果将会只显示自己定义的用户事务。5.统计结果中的总点击量Total Hits时用户的鼠标点击次数吗?Total Hits不时按照用户的鼠标点击次数来计算的,而是按照各个虚拟客户端向后台发起的总的请求数来进行统计的。例如在向服务器请求的一个页面中,如果该页面包含5个图片,用户只要单击鼠标就可以访问该页面,而单个虚拟用户在LoadRunner访问的点击量为1+5=6次。6.有些Web测试结果分析图(例如每秒返回页面数)在测试结果分析图中无法看到,如何进行配置?用VuGen打开虚拟用户脚本后,进入“Run-time Settings”对话框后,依次进入“Internet ProtocolPreference”,可以看到一些Web性能图配置。勾选上面得选项后,Controller将会在测试执行过程中生成数据,然后可在Analysis中查看相应的性能结果分析图。7.LoadRunner HTTP服务器状态:在录制Web协议脚本回放脚本的过程中,会出现HTTP服务器状态代码,例如常见的页面-404错误提示、-500错误提示。错误现象1:-404 Not Found服务器没有找到与请求URI相符的资源,但还可以继续运行直到结束。错误分析:此处与请求URI相符的资源在录制脚本时已经被提交过一次,回放时不可再重复提交同样的资源,而需要更改提交资源的内容,每次回放一次脚本都要改变提交的数据,保证模拟实际环境,造成一定的负载压力。解决办法:在出现错误的位置进行脚本关联,在必要时插入相应的函数。错误现象2:-500 Internal Server Error服务器内部错误,脚本运行停止。错误分析:服务器碰到了意外情况,使其无法继续回应请求。解决办法:出现此错误是致命的,说明问题很严重,需要从问题的出现位置进行检查,此时需要此程序的开发人员配合来解决,而且产生的原因根据实际情况来定,测试人员无法单独解决问题,而且应该尽快解决,以便于后面的测试。8.出现“Error: Parameter xml_NewParam: No more unique values for this parameter in table xml_NewParam.dat unique range is 1-4.The parameter continues with last value of the range according to When Out Of Values policy.”的报错原因1:是由于选用了unique once的类型原因2:是由于参数表中的数据不够导致LoadRunner调试socket程序时,经常有同学会碰到接收数据mismatch的问题,录制或手动编写测试脚本的时候接收的数据大小是25byte,而测试时实际接收到的是50byte。LR中当遇到Mismatch时,会等待读取socket中的数据,直到超时为止。这个超时时间默认为10秒,当脚本回放时mismatch很多时,自然就慢了。这里就总结下遇到Mismatch问题的几种处理办法,供大家以后参考1.修改data.ws的buf大小与实际返回的数据一致,前提是每次操作的返回数据大小是一样的。这是最简单也是最易实现的方法,在制造测试数据时最好就要考虑到如何让返回的数据大小一致。当然并不是所有的系统都能满足此前提,可以再看下面的处理方法。2.使用一个函数设置返回的属性,来实现这种动态的数据缓冲。lrs_set_receive_option(EndMarker, EndMarker_None ) / 读取直到缓冲结束.lrs_set_receive_option(EndMarker, StringTerminator , rn) /读取直到rn符号出现 .lrs_set_receive_option(EndMarker, BinaryStringTerminator , X00) 读取直到二进制符号X00出现此方法适用于知道返回数据包的最后符号的情况,接收过程中读取此符号即停止接收。3.如果字符不匹配的话,lrs_receive会重新到服务器端再去取数据,直到再次取失败,默认取得时间为10秒钟,这个你可以用这个函数修改之:lrs_set_recv_timeout2(long sec, long u_sec); / 设置建立连接成功之后,接收数据的等待时间。举例:lrs_create_socket(socket2, TCP, RemoteHost=tears.mercury.co.il:23, LrsLastArg);lrs_send(socket2, buf2, LrsLastArg);lrs_set_recv_timeout2(1,0);/建立连接后,只接收数据1秒后停止接收lrs_receive(socket2, buf3, LrsLastArg);4.lrs_receive(socket2, buf5,Flags=MSG_PEEK, LrsLastArg);在recv的时候,flag字段设置了MSG_PEEK,则读取数据包的时候,不会把该数据包从缓存队列中删除;下次读取时还是这个数据包。此方法也可保证每次读取的数据一致,让后面的请求在接收时只接收前面读取的数据包,而不是读取实际返回的数据包。但是需要注意buf大小的设置要和第一次返回的数据包大小一致,否则会导致后面读取的缓存数据过大,与实际情况不符。5.使用lrs_set_socket_options来修改接收选项,使得不延迟接受。举例:lrs_set_socket_options(socket0,LRS_NO_DELAY,TRUE);理论上可以使用此设置保证接收数据不延迟,不过我调试的时候程序报了语法错误,有兴趣的同学可以再深入探讨下。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应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的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 since 1/1/70: %ldn”,time(&t);lr_message(“System time and date: %s”,ctime(&t);输出结果为:Time in seconds since 1/1/70: 1185329968System time and date:Wed Jul 25 10:19:28 200711.一些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=WindowsSharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2ProfileControl=Off MaxRequestThreads=16SharedSection=1024,3072,512关键字的格式为xxxx,yyyy,zzz。其中,xxxx定义了系统范围堆的最大值(以KB为单位),yyyy定义每个桌面堆得大小。(3)将yyyy的设置从3072更改为8192(即8MB),增加SharedSection参数值。通过对注册表的更改,系统将允许运行更多的线程,因而可以在计算机上运行更多的Vuser。这意味着能够模拟的最大并发用户数量将不受Windows操作系统的限制,而只受硬件和内部可伸缩性限制的约束。15.Controller中设置了用户并发数量,但是运行时为何初始化的用户数量少于实际数量?主要时设置问题。在ToolsoptionsRun-time setting中可以设置每次最多初始化的虚拟用户。如果需要100个并发用户,则将该值设置为大于100的数值。另外,注意LoadRunner相关协议License的更新,确保使用的License能够允许所需要的并发用户数量。16.如何让场景的用户执行发生错误继续运行,以保证不间断进行压力测试?用VuGen打开虚拟用户脚本后,进入“Run-time Settings”对话框后,依次进入“GeneralMiscellaneous”,可以看到Miscellaneous设置中关于“Error Handling”的配置。勾选“Continue on error”即可让虚拟用户发生错误继续运行。17.为什么.NET虚拟用户有时不能在远程主机执行?主要时LoadRunner的版本问题。根据笔者的经验,如果是Microsoft Visual Studio 2005开发的虚拟用户,同时LoadRunner客户端的版本低于8.1,执行Controller的主机将会发生错误。因此要想正确的运行Microsoft Visual Studio 2005开发的.NET虚拟用户,客户端最好装8.1以上的版本,Controller的主机则安装8.0和8.1两个版本均可。此外,产生压力的LoadRunner客户端上预先应该安装.NET运行环境,如果Microsoft Visual Studio 2005
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- HY/T 0453-2024走航式温盐深剖面测量仪
- 2025年新材料行业当前发展现状及增长策略研究报告
- 2025年防护眼镜行业当前发展趋势与投资机遇洞察报告
- 收纳行业知识培训内容课件
- 2025年职业技能(工业废水处理工)专业技术及理论知识考试题库与答案
- 2025年版《手术室护理实践指南》练习题(及答案)
- 2025保密宣传教育月有奖答题试题及答案
- 2025员工三级安全教育考试试题含答案
- 2025年高级美容师理论知识资格考试模拟试题库及答案
- 2025年社会工作者之中级社会综合能力通关考试题库带答案解析
- 合作试验协议
- 全国高中生物奥林匹克竞赛试题
- 洁净手术部技术要求
- 配电房安全管理培训
- GB 44263-2024电动汽车传导充电系统安全要求
- QB/T 2660-2024 化妆水(正式版)
- 初中历史八年级下册单元作业设计
- 2024-2030年中国药用安瓿瓶行业现状规模及供需趋势预测报告
- 护理团标解读住院精神疾病患者攻击行为预防
- 护士上半年护士考试题库
- 【年产100万瓶漱口水工艺设计及物料衡算9400字(论文)】
评论
0/150
提交评论