大开测试:性能-线程和进程运行方式有何不同(连载9)

7.9  线程和进程运行方式有何不同

1.问题提出

线程和进程运行方式有何不同?它们的运行机制是什么?内存的占用情况如何?

2.问题解答

可以通过依次选择【Vuser】>【Run-Time Settings...】项,在弹出的运行时设置对话框中,在【Multithreading】项中选择按进程(Run Vuser as process)或者线程(Run Vuser as thread)运行方式,如图7-21所示。

Vusers支持多线程环境。多线程环境的主要优势是每个负载生成器能运行多个Vuser。只有线程安全协议才能作为线程运行。

图7-21  运行时设置对话框

下列协议不是线程安全协议,如Sybase-Ctlib、Sybase-Dblib、Informix、Tuxedo 和PeopleSoft-Tuxedo。

(1)要启用多线程,请选择“Run Vuser as a thread”。

(2)要禁用多线程并按单独的进程运行每个Vuser,请选择“Run Vuseras process”。

Controller将使用驱动程序(如mdrv.exe、r3vuser.exe)运行Vuser。如果按进程运行每个Vuser,则对于每个Vuser实例,都将反复启动同一驱动程序并将其加载到内存中。将同一驱动程序加载到内存中会占用大量RAM(随机存取存储器)及其他系统资源。这就限制了可以在任一负载生成器上运行的Vuser的数量。如果按线程运行每个Vuser,Controller为每50个Vuser(默认情况下)仅启动驱动程序(如mdrv.exe)的一个实例。该驱动进程/程序将启动几个Vuser,每个Vuser都按线程运行。这些线程Vuser将共享父驱动进程的内存段。这就消除了多次重新加载驱动程序/进程的需要,节省了大量内存空间,从而可以在一个负载生成器上运行更多的Vuser。

关于线程和进程在常用的操作系统中内存占用情况,如表7-2所示。

表7-2                               内存利用率列表


Operating system


Win2000 Advanced Server sp3


Windows XP sp1


WindowsNT 4 SP 6a


Protocol


Process (MB)


Thread (MB)


Process (MB)


Thread (MB)


Process (MB)


Thread (MB)


SAPGUI Ram


26


6.2


26


6.2


26


6.2


Swap


26


6.7


26


6.7


26


6.7


C Ram


3


0.27


3


0.28


3.6


0.29


Swap


2.7


0.27


2.5


0.27


2.2


0.26


CITRIX Ram


15.4


8.8


15.4


8.8


15.4


8.8


Swap


12.5


8.4


12.5


8.4


12.5


8.4


COM/DCOM Ram


7


0.4


5.8


0.4


5.8


0.4


Swap


3.5


0.3


3.2


0.3


2.9


0.3


CTLIB Ram


4


N/A


4


N/A


4


N/A


Swap


3.5


N/A


3.5


N/A


3.5


N/A


DBLIB Ram


4


N/A


4


N/A


4


N/A


Swap


3.5


N/A


3.5


N/A


3.5


N/A


DB2 Ram


7


0.8


6.9


0.5


7.2


0.96


Swap


5.2


0.97


5


0.95


4.8


0.8


DNS Ram


3.4


0.3


3.3


0.3


3.9


0.3


Swap


2.9


0.3


2.7


0.3


2.4


0.3


FTP  Ram


3.1


0.26


3.1


0.25


3.6


0.28


Swap


2.7


0.25


3.1


0.25


2.4


0.25


INFORMIX Ram


5.1


N/A


5.1


N/A


5.1


N/A


Swap


2.6


N/A


2.7


N/A


2.6


N/A


IMAP  Ram


3.4


0.3


3.4


0.3


4


0.3


Swap


2.8


0.3


3


0.3


2.5


0.27


JAVA General Ram


10.5


0.6


10.5


0.6


10.5


0.6


Swap


12.7


0.6


12.7


0.6


12.7


0.6


MAPI Ram


4.2


0.3


4.8


0.31


5


0.33


Swap


2.8


0.27


3.8


0.27


2.5


0.28


MMS Ram


9.9


2.8(30)


8.4


2.5


9


2.5


Swap


5.7


2.8(30)


4.9


2.5


5.7


2.5


MS-SQL Ram


3.1


0.27


3.1


0.26


3.6


0.28


Swap


2.7


0.26


2.7


0.25


2.2


0.25


.NET(C) Ram


3.1


0.3


3.1


0.3


3.1


0.3


Swap


2.9


0.3


2.9


0.3


2.9


0.3

续表


Operating system


Win2000 Advanced Server sp3


Windows XP sp1


WindowsNT 4 SP 6a


Protocol


Process (MB)


Thread (MB)


Process (MB)


Thread (MB)


Process (MB)


Thread (MB)


.NET (C#) Ram


7.6


0.4


7.6


0.4


7.6


0.4


Swap


5.7


0.35


5.7


0.35


5.7


0.35


.NET (VB) Ram


7.7


0.4


7.7


0.4


7.7


0.4


Swap


5.7


0.4


5.7


0.4


5.7


0.4


ODBC Ram


10.6


0.6


10.6


0.6


11.5


0.6


Swap


8.3


0.6


8.3


0.6


8.4


0.6


ORACLE7 Ram


7


0.4


7


0.4


7


0.4


Swap


4.5


0.4


4.5


0.4


4.5


0.4


ORACLE8 Ram


7.8


0.6


8.5


0.6


8.6



Swap


4.9


0.6


6


0.5


4.7


7


ORACLE NCA 11i Ram


5.6


0.5


5.9


0.6


6.1


0.6


Swap


5.1


0.6


5.6


0.6


4.6


0.6


POP3 (C) Ram


3.2


0.26


3.2


0.26


3.7


0.28


Swap


2.9


0.26


2.8


0.26


2.5


0.25


PS  TUXEDO   Ram


4.4


N/A


5


N/A


5.2


N/A


Swap


3


N/A


2.9


N/A


2.7


N/A


REAL  (RTSP) Ram


7


0.6


6.5


0.6


5


0.6


Swap


5.5


0.5


6


0.5


3.5


0.5


RTE (5250 IBM) Ram


6


1.2


6


1.2


6.5


1.2


Swap


3.5


0.8


3.6


0.8


3


0.75


SMTP(C) Ram


4


0.3


4


0.3


4


0.3


Swap


3


0.3


3


0.3


3


0.3


TUXEDO Ram


4.2


N/A


5


N/A


5.2


N/A


Swap


3


N/A


2.9


N/A


2.8


N/A


VB  SCRIPT Ram


8.2


0.45


8


0.5


7.6


0.6


Swap


5.7


0.4


5.5


0.5


5.4


0.6


VB Ram


5.5


0.4


5.5


0.4


5.6


0.4


Swap


4.3


0.3


4.4


0.4


4


0.4


WEB (URL) Ram


5


0.5


5


0.5


5


0.5


Swap


4.5


0.51


4.5


0.51


4.5


0.5


WinSoket Ram


3.9


0.35


3.8


0.35


4.5


0.4


Swap


3


0.35


3


0.35


2.9


0.38


Siebel  Web Ram


5.2


0.6


5.2


0.6


5.2


0.6


Swap


4.2


0.6


4.2


0.6


4.2


0.6


WEB/NCA Ram


5.6


0.9


5.8


0.9


6.3


0.9


Swap


4.5


0.85


4.3


0.8


4


0.8



更多信息请关注大开科技公众号或官方网站

www.dakaikeji.com.cn

时间: 2024-11-03 01:18:09

大开测试:性能-线程和进程运行方式有何不同(连载9)的相关文章

大开测试:性能—如何添加并运用附加变量(连载6)

7.6  如何添加并运用附加变量 1.问题提出 LoadRunner 11.0中[Vuser]>[Run-time Settings]>[General]>[Additionalattributes]配置选项是如何应用于性能测试的呢? 2.问题解答 LoadRunner 11.0提供了一个非常有用的功能,就是可以向脚本传递参数,可以测试并监控具有不同客户端参数的服务器. 通过选择[Vuser]>[Run-time Settings]>[General]>[Additio

大开测试:性能-如何在命令行下启动Controller(连载21)

7.21  如何在命令行下启动Controller 1.问题提出 如何在命令行下启动Controller进行负载测试? 2.问题解答 习惯使用命令行操作的读者可能十分关心,Controller是否可以在命令行下通过指定运行的场景和相关参数也可运行呢?LoadRunner提供了Controller命令行运行方式.如果在C盘存在一个场景文件Test.lrs,就可以通过在命令行下执行类似“wlrun-TestPathC:\Test.lrs-Run”的命令进行负载测试.关于命令行部分的描述前面章节已经多

大开测试:性能-如何使用自动关联对测试结果进行分析(连载28)

7.28  如何使用自动关联对测试结果进行分析 1.问题提出 如何使用自动关联对测试结果进行分析? 2.问题解答 通过分析网页细分图或者使用自动关联功能确定造成服务器或网络瓶颈的原因.自动关联功能应用高级统计信息算法来确定哪些度量对事务的响应时间影响最大,从而确定系统的性能瓶颈.下面我们结合图7-61,来实例讲解以下如何应用自动关联来分析测试结果. 在图7-61上我们发现SubmitData事务的响应时间相对较长(为了方便大家看清楚该曲线,作者用粗线条对SubmitData曲线进行了重画).要将

大开测试:性能-如何确定登录达到响应时间为3秒的指标(连载27)

7.27  如何确定登录达到响应时间为3秒的指标 1.问题提出 在日常性能测试过程中,经常会在用户需求文档中发现这样的说明,要求首页面响应时间为3s之内,登录的响应时间在5s之内等类似的信息,那么,我们如何清楚测试结果是否达到了预期的首页面.登录响应时间的性能指标呢? 2.问题解答 随着互联网技术的广泛发展,人们也对业务的响应时间要求越来越高,目前关于响应时间有一个广泛的应用原则就是"3-5-8"原则."3-5-8"原则指的是,如果用户发出一个请求后,这个请求在3s

大开测试:性能- 如何解决负载均衡将压力作用到一台机器(连载15)

7.15  如何解决负载均衡将压力作用到一台机器 1.问题提出 如由IP地址为192.168.1.30.192.168.1.31.192.168.1.32的3台机器组成的Apache.Tomcat集群和负载均衡系统,发现客户端发出请求后,都将请求发送到了IP为192.168.1.30的机器上,请问这是为什么呢? 2.问题解答 随着互联网络技术的飞速发展,越来越多的应用已经从最早的单机操作变成基于互联网的操作.由于网络用户数量激增,网络访问路径过长,用户的访问质量容易受到严重影响,尤其是当用户与网

大开测试:性能—如何将Connect()中的密文改为明文(连载5)

7.5  如何将Connect()中的密文改为明文 1.问题提出 在VuGen以ODBC协议录制样例应用程序"Flights-ODBC_Access"业务流程后,发现生成脚本lrd_open_connection包含密文(如图7-10所示),能否将这些密文变成明文显示呢? 图7-10  包含密文的脚本 2.问题解答 在解答这个问题之前,有必要先介绍一下关于样例应用程序的运行方式和协议选择,关于样例程序的安装问题,前面已经讲过,在这里就不再赘述.样例程序安装好以后,可以通过查看[开始]&

大开测试:性能-如何解决由于设置引起的运行失败问题(连载22)

7.22  如何解决由于设置引起的运行失败问题 1.问题提出 有时候,在场景执行完成以后,会出现很多由于设置不当而引起的一些问题,那么如何辨析是由于设置而引起的问题,并解决这些问题呢? 2.问题解答 我们在进行性能测试的时候,有些情况下是因为设置的问题而引起场景运行结果包含一些失败的信息内容.比较常见的失败信息有"Closing connection to <server>because it has been inactive for XXX s which is longer t

大开测试:性能-如何实现脚本分步录制(连载10)

7.10  如何实现脚本分步录制 1.问题提出 在进行一个B/S结构进销存管理系统脚本录制过程中,登录系统后,进行销售业务的处理,最后退出系统.因为登录和退出系统为一次性的操作,而销售业务可以执行多次,那有没有办法在录制脚本的时候,将系统登录.系统退出和业务处理3个部分分步录制呢? 2.问题解答 在进行Web应用系统测试时,通常包含登录系统.业务操作.退出系统3部分,登录系统部分主要是登录系统建立一个有效的连接,业务操作部分主要是进行相关业务的处理,退出系统部分主要是释放连接.而VuGen脚本主

大开测试:性能-如何实现对Web应用程序服务器资源监控(连载25)

7.25  如何实现对Web应用程序服务器资源监控 1.问题提出 如何实现对Web应用程序服务器资源监控? 2.问题解答 可以使用LoadRunner的Web应用程序服务器资源监控器,在场景或会话步骤运行期间监控Web应用程序服务器,并隔离应用程序服务器性能瓶颈. Web应用程序服务器资源监控器提供了场景或会话步骤执行过程中,有关Ariba.ATG Dynamo.BroadVision.ColdFusion.Fujitsu INTERSTAGE.iPlanet (NAS).Microsoft A