loadrunner跑场景的时候出现:Abnormal termination, caused by mdrv process termination。 html
备注:我使用的是RTE协议录制的脚本。 web
Hi, Users facing this mdrv process abnormal termination can try one of these options found from one of the LR articles. The Loadrunner vusers are run by a process called 'mdrv.exe'. Whenever this process encounters errors due to various reasons it may terminate. Some of the possible reasons are as follows windows
原文地址:http://loadrunner.wetpaint.com/page/Abnormal+termination,+caused+by+mdrv+process+termination 安全
在LoadRunner运行脚本过程当中,在任务管理器中咱们能够看到有一个或多个名为“mmdrv”的进程在运行,与此同时当咱们查看 LoadRunner/bin目录下的文件时还会看到一个“mdrv.exe”文件,那么mmdrv.exe和mdrv.exe有什么异同?
其实mmdrv是mdrv的封套,mmdrv一般应用于一些协议(例如 web http/html)中对内存进行优化应用,但实质上mmdrv在优化内存时会启动mdrv。两者均可以按如下命令格式来启动并运行测试脚本: mmdrv/mdrv -usr <script path>
例如在windows的command窗口中首先切换目录至LoadRunner的bin目录下,而后运行如下命令:
>mmdrv -usr D:/qa/product/Space/project/space-3.0.1/performancetest/script/firstpage/script_loadfirstpage/script_loadfirstpage.usr
这样脚本就会在后台运行(不会启动LoadRunner control界面,但能够在任务管理器中看到mmdrv进程运行状况),运行结果可查看脚本目录中的日志文件,如:output.txt,mdrv*.xxx.log(其中“*”是不一样的字符标识,如Q6n、R5u;“xxx”是数字代码,如22九、505)。
mmdrv和mdrv使用的更多说明可在command窗口中LoadRunner/bin目录下启动mmdrv或mdrv,可看到以下说明(注意到:不管是输入mmdrv仍是输入mdrv,显示的帮助窗口都是mdrv的说明内容,这更说明了mmdrv是对mdrv的包装): 多线程
Loadrunner支持多线程环境,使用多线程的方法能使每台负载生成器运行更多的VU,可是只有支持线程安全的协议,才能使用Loadrunner的VU并发方式。 并发
如下协议不能支持线程并发 测试
Sybase-Dblib,Infomix,Tuxedo,and PeopleSoft-Tuxedo 优化
当使用进程并发是,在任务管理器中有mdrv.exe的进程,好比下图,用10个VU用户并发,就会在任务管理器中出现10个mmdrv进程 this
若是以多线程方式并发,只会出现一个mmdrv进程,一个进程能够支持50VU的线程并发。 spa
Loadrunner的参考帮助还说明了,若是采用多线程方式并发,Load Generator将会比多进程支持更多的用户,具体的一个VU占用内存的取值根据Loadrunner的版本不一样而不一样。
根据上述的资料,首先关闭了扩展日志,而后加入了思考时间,而且减小了单个压力机上虚拟用户,转而由多个压力机一块儿运行脚本。此问题解决。