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