大开测试:性能-线程和进程运行方式有何不同(连载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.exer3vuser.exe)运行Vuser。如果按进程运行每个Vuser,则对于每个Vuser实例,都将反复启动同一驱动程序并将其加载到内存中。将同一驱动程序加载到内存中会占用大量RAM(随机存取存储器)及其他系统资源。这就限制了可以在任一负载生成器上运行的Vuser的数量。如果按线程运行每个VuserController为每50Vuser(默认情况下)仅启动驱动程序(如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)

大开测试:性能- 如何理解Return的返回值(连载14)

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

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