收到阿里云的报警说是服务器进程数过多,然后登陆云监控一看,吓了一跳发现服务器的内存,cpu各种上升,登陆查看任务管理器进程出现好多mmdrv.exe进程,仔细寻觅一番才发现是测试工程师在使用Loadrunner做测试(尼玛也不说一声),原来虚惊一场,以下是自己了解的一些Loadrunner:
Load Generator 对系统的要求
如果使用进程方式并发,并发10个虚拟用户,则会在任务管理器中出现10个mmdrv.exe进程;
如果使用线程方式并发,并发10个虚拟用户,只会在任务管理器中出现1个mmdrv.exe进程,说明:一个mmdrv.exe进程最多可以支持50个线程并发用户数,那么并发51个虚拟用户,则会出现2个mmdrv.exe进程。
一个VU占用内存的取值根据loadrunner的版本不同而不同:
1、至少有1M内存供非多线程Vuser使用
2、至少有512K内存供多线程Uuser使用
Load Generator在XP系统(线程方式):
mmdrv.exe
进程个数 mmdrv.exe
所占内存(K) 所占内存(M)
1VU 1 7456K 7.28M
50vu 1 29853K 29.2M
51VU 2 以上总和
Load Generator在2008系统(线程方式):
mmdrv.exe
进程个数 mmdrv.exe
所占内存(K) 所占内存(M)
1VU 1 10484K 10.23M
50vu 1 33200K 32.42M
51VU 2 以上总和
401VU 9 以上总和
总结:
Loadrunner无论使用线程方式还是进程方式,一个mmdrv.exe进程大约占用30M内存;如果50个线程(并发用户),平均一个线程大约占用600K内存(一个线程至少占用600K内存(512K内存))。
50个vu占用一个mmdrv.exe进程30M
1个vu占用一个mmdrv.exe进程7.28M
使用线程方式,一个mmdrv.exe进程最多可以支持50个线程(并发) 。
也有人说一个vuser占2M内存的(待确定)