程序员

loadrunner线程和进程

2018-08-21  本文已影响0人  石角斗

在运行时设置中的其他按钮设置

1、一个进程可以是一个或者多个线程

2、进程在执行过程中拥有独立的内存单元,而多个内存共享内存。所有线程比进程更省内存

3、进程是等所有的用户都跑完了之后一起执行,线程是用户跑完一个执行一个,呈队列形式,所以一般测并发都选择进程

4、进程是系统进行资源分配和调度的一个独立单位,而线程是进程的一个实例化的表现

5、一个线程可以撤销和创建另一个线程,同一个进程中的多个线程可以并发执行。

按进程运行Vuser和按线程运行Vuser的区别:

1、首先,运行程序后,进程mmdrv.exe会在开启运行状态,不然说明LR程序负载测试运行失败

2、按线程运行Vuser,LR默认的情况下,每50个用户开启一个进程mmdrv.exe,controller 场景执行结束之后,mmdrv.exe 也会结束

3、在Runtime setting中设置为按线程运行VUSER,设置Controller中的虚拟用户数小于等于50的话,打开windows资源管理器可以看到有一个进程mmdrv.exe; 设置Controller中的虚拟用户数在51与100之间的话,打开windows资源管理器可以看到有两个进程mmdrv.exe,

线程方式和进程方式的优缺点:

1、选择按照进程方式运行, 每个用户都将启动一个mmdrv进程,多个mmdrv进程会占用大量内存及其他系统资源,这就限制了可以在任一负载生成器上运行的并发用户数的数量,因为负载机的资源(内存及其他系统资源)是有限的。/

2、选择按照线程方式运行,在默认情况下,controller为每50个用户仅启动一个mmdrv进程,而每个用户都按线程方式来运行,这些线程用户将共享父进程的内存段,这就节省了大量内存空间,从而可以在一个负载生成器上运行更多的用户。

3、选择线程方式虽然可以减少启动的mmdrv进程数,减少了内存的占用,但是也容易出现一个问题,例如,同一个测试场景,用线程并发就会出现超时失败或报错,而用进程并发就没错。为什么呢?因为线程的资源是从进程资源中分配出来的,因此同一个进程中的多个线程会有共享的内存空间,假设a线程要用资源就必须等待b线程释放,而b线程也在等待其他资源释放才能继续,这样就会出现这个问题。

所以,能够用进程方式就用进程方式,线程方式的可能会出现超时报错

需要500用户并发的,一般要求8核16G支持中文Windows系统admin权限的服务器可行,1000并发应该也没问题

    对于压测服务器,我们需要一下配置:

服务器OS:Windows 2010以上 (最好支持中文)

服务器CPU核数:8核

服务器内存:16G

服务器硬盘:20G

其他要求(如软件要求):需提供管理员账号可下载安装压测工具

上一篇下一篇

猜你喜欢

热点阅读