大开测试:性能-线程和进程运行方式有何不同(连载9)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大开测试:性能-线程和进程运行方式有何不同(连载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
以上是关于大开测试:性能-线程和进程运行方式有何不同(连载9)的主要内容,如果未能解决你的问题,请参考以下文章
大开测试:性能- 基于目标和手动场景测试有何联系和不同(连载20)
大开测试:性能-如何在命令行下启动Controller(连载21)
大开测试:性能-如何在命令行下启动Controller(连载21)