SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4963|回复: 1

[推荐] Rational System Architect (RSA)11.4 的可伸缩性

[复制链接]
发表于 2011-12-15 15:55:49 | 显示全部楼层 |阅读模式
本帖最后由 技术狂人 于 2011-12-15 17:35 编辑
# w. ^$ W9 H9 _2 H2 Q9 R. T. D7 g
引言6 T% j! m& C. d; _! V0 p
本文报告了 IBM Rational System Architect 的可伸缩性测试结果。该结果展示了在 Windows Terminal Server 环境下部署时,IBM® Rational® System Architect 的可伸缩性。9 G, g  g% |6 u. C! L; A  @
Rational System Architect 是一款多用户的基于储存库的企业结构建模工具。通过应用行业标准结构,注释和方法,业务分析员使用它来查看,分析,并交流所有方面的企业结构。所有项目信息都存储在一个名为 百科全书(encyclopedia) 的多用户储存库之中,它安装在 Microsoft SQL Server 或者 Oracle 数据库服务器。
0 i! L. `6 R8 |9 Y, G  Y申明在本文中,我们会参考使用 Windows Terminal Server,用以运行 Rational System Architect 来作为程序服务器。0 T/ u) q; ]; y
" f2 G, e( z1 m/ W

$ Q( h. d; C- X$ C1 Q) j终端服务(Terminal Services)是 Microsoft 公司对瘦客户端终端服务器计算的实现方式,使得远程客户端机器也可以访问 Rational System Architect 之类的 Windows 程序。用户能够从远程终端访问部署在终端服务器上的程序,这些终端包括 Windows 7、Windows Vista、Windows XP,或者任意安装有 Microsoft 远程桌面连接软件的电脑。当您在使用终端服务时,只有应用程序的用户界面会出现在客户端上。所有的用户输入会通过网络传输到终端服务器,应用程序在终端服务器上实际执行程序任务。
2 b' r1 ~! e; j7 G4 O( u终端服务赋予了 IT 管理员灵活性实现对用户集中部署程序,而无需考虑用户所在的位置。这有助于降低成本,并解决由于频繁更新程序、安装繁琐,或者需要通过低带宽链接访问给维护桌面机器所带来的挑战。终端服务通过与 Windows 认证系统相集成,防止未授权用户访问程序或数据,以及允许用户加密终端用户和客户端之间转移的数据,从而提供了一种安全的环境。
$ Y5 y% T4 f# |- Q! P3 r
0 P; l" y- a( _& G7 K& u7 I
  ]( n1 z3 L3 Y9 N% o9 A) j
目标, j( k$ _. |% d: M: ]$ ]5 n
目标 1:决定可以有多少个并发用户可以有效地正常操作,并在给定的硬件配置条件下使用 Rational System Architect。
8 t( T& s4 D1 B) s目标 2:开发一个指南,以在并发 Rational System Architect 用户数量增长时,预计所需要的硬件条件。% f, ^& t- _$ U3 [- b+ D


" j! k5 E1 ^% \2 w! Q0 L' S. c: ~7 W  W; R4 {& x
性能指标3 Q+ m; k* |7 f! V- u
为了估计 Rational System Architect 的可伸缩性,您需要考虑一下程序和数据库服务器的性能,以及执行典型末端用户操作的响应性。
, o, J8 t% ~/ h  o2 W; e; x0 J  `服务器性能指标
: B+ D$ X' e; ?% N6 |接下来的性能指标用于评价给定的负载条件下,程序和数据库服务器的响应性。这些工具是由 Microsoft Windows Server 2003 中包含的 Performance Monitor 工具所收集的。这里使用的是 15 秒的范例速率。# [3 U+ P' x! ^/ H0 M, ^( U1 t+ \! r
CPU
' y3 {3 \1 t' \' E; s3 R使用的计时器: \\Server\Processor(_Total)\%Processor Time
0 S& n0 V0 Y% n  D描述: 处理器时间百分比(% Processor Time)就是处理器执行非空闲线程所花费时间的百分比。它是这样计算的:范例间隔内空闲线程活动的持续期,减去间隔持续期的时间(每个处理器都有一个空闲线程,在该线程内其他的线程不能运行)。该计时器就是处理器活动的主要指示器,并显示了范例间隔期内忙时的平均百分比。它是这样计算的:找到服务未激活状态下的时间,从 100% 起减去该值。
/ S+ Q2 G' m4 }0 _" k. P# M内存
2 W2 m- y& o$ m& A: y7 Q; S使用的计时器: \\Server\Memory\Committed Bytes, \\Server\Memory\%Committed Bytes In Use
  h4 r6 @3 F8 k描述: 提交比特数就是提交的虚拟内存的数量,以比特计算。提交比特数是保存在硬盘页码文件中的空间。其中在每一个物理档案中,可以有一个或者多个页码文件。这些计时器只会显示最后一次观察到的值;它不是一个平均值。提交比特数的使用率(% Committed Bytes In Use)就是内存\\提交比特数与内存\\提交限制之间的比值。
& W  t2 D" ]7 w$ k硬盘
' K- A3 g1 t, h$ Z使用的计时器: \\Server\PhysicalDisk(_Total)\% Disk Time
! I8 U4 c6 t" ~3 R3 ^5 U$ F5 G2 U描述: 硬盘时间百分比(% Disk Time)就是选中硬盘驱动器花在阅读或者书写请求所花费时间的百分比。+ Q( X  w  U& Z
网络适配器
- r1 R2 ?) Y" r* K8 J) I使用的计时器: \\Server\Network Interface(*)\Bytes Total/sec# X, }1 K; p. Z* |2 O. [0 H
描述: 总比特/秒就是以什么速率发送比特,以及以什么速率通过网络适配器接受比特,包括框架字符。网络界面 \\接受比特/秒 就是网络界面 \\接受比特/秒以及网络界面 \\发送比特/秒的总和。/ u; \6 M' P2 t& N
Rational System Architect 性能指标+ j( [6 B3 ~# J7 k" R! D
接下来的性能指标用于评价给定负载条件下,Rational System Architect 的响应性。这些工具是由 Loadgen 引擎收集的,这也包含在内(参见 Test Methodology 部分以得到关于 Loadgen 的其他信息)。& I1 q. j# n; S3 z0 B. A
图表打开平均时间 6 K  u% x- @3 x- Q
打开图表的平均时间,以秒计算。3 F/ r; L) I, A) D7 I2 B+ W
图表关闭平均时间
' r$ n+ Q* k7 c关闭和保存图表的平均时间,以秒计算。5 w. N! ]1 c6 l9 u" R3 A) e3 g& S" J, F
定义打开平均时间 0 x9 f& Y* k4 L4 l7 k1 [  ?( c
打开定义的平均时间,以秒计算。
; M& k! ~& }' [定义关闭平均时间
" Q: p/ r. C  O% _( _( @关闭和保存定义的平均时间,以秒计算。: a% U" O3 r# i8 e% Z* y
定义添加平均时间
6 {6 r! S6 }3 @1 r+ G: v6 W创建新定义的平均时间,以秒计算。
- l  z8 F* [9 r7 g0 p, D9 b1 s' n定义删除平均时间 7 A* H" h% h6 q* _  c3 X
删除已存在定义的平均时间,以秒计算。
; ?2 E& R/ p7 a6 |. g' R% O浏览器刷新平均时间 ; b* @: ], ~0 M/ o; f; X+ w
刷新浏览器窗口所花费的时间,以秒计算。
$ ?4 r" \5 U2 j" w浏览器打开平均时间 " g) H8 h. O* d- m- l" y8 c; N
在浏览器窗口中展开一系列树形节点所花费的时间,以秒计算。
( V! ]& M5 N+ a2 I) G# \平均操作时间 : k6 h5 q6 ^7 A( [1 o& E
执行所有操作的平均时间(以上工具的集合)。0 p* c0 r; ?- G1 L" F
平均交易时间
% `) M  c4 _) W6 |8 o' l数据库交易的平均时间,以秒计算。# J3 }9 z4 n7 v/ t& Z3 q, w' X
平均锁定时间
, `1 |2 i; k, n数据库 applock 的平均时间,以秒计算。一个 applock 用于锁定数据库以便单个用户的外部性访问。通常来说,更长时间的 applock 意味着 Rational System Architect 对末端用户的响应性更差。# m9 L) v7 N% K9 p" r
这些平均值是对测试中所有参与的用户计算的。例如,如果测试期间 20 个用户打开了 50 个图表,那么可以从打开执行操作的所有 1000 个图表中计算 Diag RAM Open Average。
4 l. H% S( A% L  @$ U
/ P; z" Q6 i) H- z, q2 m- M0 y/ y$ ]
) T, ]/ L; K( m
测试环境
% X) E8 {* K" I3 ^选择一个基线测试环境来反映硬件和软件成为末端用户的公共安排。您需要创建一个程序服务器来安装 Rational System Architect,并用作通过远程桌面连接用户的访问点。您需要创建一个单独的数据库服务器来安装测试期间使用到的 SQL 服务器以及 Rational System Architect 百科全书。下面列出的是使用硬件和软件配置的具体内容。- X$ v9 h1 L+ ^  z7 a
程序服务器
2 i4 B. [- J; j: E" _$ `
硬件:
  • CPU: Intel Xeon Dual Core 2.4 GHZ
  • RAM: 4 GB
  • 网络适配器: 1 Gbps 的连接速率,以及对数据库服务器 144 Mbps 的吞吐速率4 B2 |" x. v/ l" c
软件:
  • Windows Server 2003 R2 SP2(启用终端服务)
  • Rational System Architect 11.4 版本" t, a$ T0 L% h
数据库服务器
* y$ j; |8 G9 f. I& H5 B  L
硬件:
  • CPU: Intel Xeon 2.4 GHZ
  • RAM: 4 GB
  • 网络适配器: 1 Gbps 的连接速率,以及与程序服务器 136Mbps 的吞吐速率# a+ Y! s- Y% _6 n6 I
软件:
  • Windows Server 2003 R2 SP2
  • Microsoft SQL Server 2008
    " w) T3 B  _: |7 Y5 B
测试百科全书5 h5 ^* k, Q4 O1 w  Z- r* }4 i8 x
对象数量:
  • 图: 211
  • 符号:10,893
  • 定义: 123,741
  • 关系: 1,017,246# w4 j) `9 [7 [1 E
配置:
  • 百科全书类型: Professional
  • 工作区: Disabled
  • 框架: None; H3 ^6 I9 z4 b1 B/ N$ P
主要方法:
  • 数据建模
  • BPMN(业务进程建模标记)2 {, ]$ o1 m0 B

' M* V; M. D) P6 i- [& \* _$ O7 y图 1. 典型 Rational System Architect 部署概览+ J. ~" z4 y8 t( H

. E+ b; Q, M; v" a$ F. `7 o6 u  X$ a/ j7 q4 h: {


  L% O  V+ _3 P5 c- @2 D! n/ V6 e8 b3 v
测试方法0 i6 C6 E# i  V: g" r5 N# `8 a
Rational System Architect Loadgen
& g) j; i/ E& S, `* SLoadgen 是构建至 Rational System Architect 以便用户模拟的属性工具。Loadgen 能够执行许多普通的任务,例如打开和关闭图及定义,或者创建新的定义,而不需要用户进行交流。它还能够提供所有操作的具体报告,以及完成这些报告所需要的时间。
" X/ o' i0 P" V, ^& S4 |: l: iLoadgen 执行的操作基于一个配置文件,该文件识别了操作的数量,以及那些操作的“随机性”。下面描述了本文所有的配置:& @# _' ]) [' x9 W% i- B
图表设置9 x8 e- [1 A( t) T
  • 一次能够打开图的最大数量:2
  • 打开图表所需要的时间,min/max:60 秒/240 秒
  • 图表打开与下一次打开所需要的时间,min/max:30 秒/90 秒
  • 打开图表时所更改符号的数量,min/max:10 / 20
    1 e/ I  {; T7 P' B0 Q+ P* v
定义设置& j6 a. v' q( G
  • 一次性打开定义的最大数量:4
  • 打开定义的时间,min/max:30 秒/90 秒
  • 定义打开与下一次打开之间的时间,min/max:60 秒/120 秒
  • 保存定义的百分比:75%
  • 取消更改定义的百分比:25%
    3 a/ c) a8 C. s* X$ v
添加定义设置
! C, r- P& b, ^  A  v5 p
  • 一次性添加定义的最大数量:1
  • 定义添加的时间,min/max:30 秒/90 秒  z+ w& [' h( Z* U" j8 V
删除定义设置
- x9 m7 k  S) m0 S" C5 P4 n6 t# h
  • 一次性删除定义的最大数量:1
  • 删除定义的时间,min/max:90 秒/150 秒
  • 首次删除之前的等待时间:300 秒
    $ `1 f$ `/ u' z) W, @
注意应用到每一个用户的设置,而不是测试的整体是很重要。例如,配置支持一次性打开 2 个图表,如果有 10 个用户参与到测试之中,那么这意味着测试时可以同时打开 20 个图表。, P8 Z8 ]4 g0 n( d; N/ ]$ T6 }
执行的测试步骤( x# m4 M* v$ K" M9 Q# ^' p- l
您可以使用 Loadgen 来模拟任意数量虚拟 Rational System Architect 用户的操作。对于本文我们在增加虚拟用户数量的情况下重复 两个小时的测试(从 5 到 25 个并发用户)。& m# F1 G. i  P
一次 Loadgen 测试运行由以下的步骤组成:
5 F7 M( x) P1 q: {5 C+ d
  • 从独立于程序和数据库服务器之外的 Windows 机器上,对程序服务器完成一个远程桌面链接,使用预定义用户 ID 进行登录。
  • 通过远程桌面链接,在程序服务器上启动 Rational System Architect 的实例,并打开测试百科全书。
  • 对于测试所需要的每一个虚拟用户重复第 1 步和第 2 步。
  • 在所有的虚拟用户都打开测试百科全书之后,可以激活 Loadgen,并启动自动化测试进程。
  • 测试能够运行 两个小时。随着测试的执行,Loadgen 与 Windows Performance Monitor 都会登录性能数据。
  • 两小时之后,Performance Monitor 就会被关闭掉,所有的虚拟用户都会从程序服务器上注销掉,而 Loadgen 和 Performance Monitor 数据都会被保存以便分析。" D3 B* }- d0 b' x, w- K, @: x" a


8 K$ l; I% v* j: u. ^- ]  \( ^4 o( J& ^+ Y, o
测试结果$ c$ g' D# [! O1 e
测试结果会分解为三个类别:' P  w2 c. u4 m2 x( Z7 C% C
  • Rational System Architect
  • 程序服务器
  • 数据库服务器
    " b8 \$ z8 u& D9 h5 k
Rational System Architect 的性能' Z0 {- y; P2 x: |' [
表 1 列出了每次测试运行时所有用户执行操作的总体数量。数据给出了测试环境中的实际负载。例如,在 25 个用户的测试运行期间,单个用户平均打开 61.84 个图表。测试运行会持续 两个小时,这样单个用户每小时会打开 30.92 个图表,或者每 2 分钟大约打开 1 个操作。
; W9 j9 B" l( s3 g6 |9 \- H8 C9 G* A, y  _# }: B( W  r7 ], L+ _8 Z
表 1. 执行操作的总体数量
6 K; {+ o( o, G& L

5 W5 [3 n) r9 l
5 个用户10 个用户15 个用户20 个用户25 个用户
操作数量2948584186061078613477
交易数量1003219945292723681746257
AppLock 数量38037561110041384917420
浏览器刷新数量2364666958731091
浏览器打开数量135264384481609
图表打开数量338671100312451546
图表关闭数量33767299912391537
定义打开数量9521888276434814349
定义关闭数量9501880276134674345
定义添加数量6021191172621742746
定义关闭数量28957985110651354
表 2 列出了以秒表示的执行每次操作所需要的平均时间。例如,在 25 个用户测试运行期间,执行 1546 图打开的平均时间为 2.24 秒。) P* P) D  p' S3 s4 q

, ?; g, s' V9 o$ m! k, W表 2. 执行每次操作的平均时间
" q, ~/ d/ U4 r2 R
, U- @! N( Y# K+ G
5 个用户10 个用户15 个用户20 个用户25 个用户
平均 操作0.430.520.681.041.12
平均交易0.130.160.220.380.41
平均 Applock0.160.170.180.220.22
浏览器刷新平均时间0.270.290.280.350.37
浏览器打开平均时间0.270.290.260.330.37
图表打开平均时间1.181.401.721.972.24
图表关闭平均时间0.570.720.921.281.64
定义打开平均时间0.300.370.551.051.02
定义关闭平均时间0.300.370.490.870.92
定义添加平均时间0.190.280.501.131.31
定义删除平均时间0.290.370.691.541.76
程序服务器的性能
# s# k4 _8 U$ J* }CPU 使用情况
* t1 ~) G- h' ?5 H表 3 显示了每次测试执行期间程序服务器上的负载。4 o; L, I9 B7 _
  • 平均处理器使用率(Average % processor use) = 测试运行期间平均 CPU 使用。
  • 总体更改百分比(Total % change) = 为了消除正常的 Windows 操作的处理器使用量,我们使用当前测试运行的平均处理器使用量减去以前测试运行的平均处理器使用量。因此,10 个用户和 15 个用户之间的总体更改百分比(Total % change)是 46.44 - 27.62 = 18.82。
  • 单个用户更改百分比(% Change per user) = 总体更改百分比(Total % change)除以 5(这一数字在测试运行期间随实际用户数增减)。
    . {" f9 H7 l7 C

  T; ^2 J, N8 Q$ p表 3. 程序服务器 CPU 使用情况; `- y) B8 W' F: O. K
测试运行平均处理器使用率(%)总体更改百分比(%)单个用户更改百分比(%)
5 个用户13.35NANA
10 个用户27.6214.272.85
15 个用户46.4418.823.76
20 个用户62.8116.373.27
25 个用户73.7010.892.18
单个用户的平均更改百分比(Average % change per user) = 3.01%(每个内核*)
8 |* q; Y" V! D$ {/ \! O" V* 该数值应用于每一个内核,因为这是一个双核系统。如果它是一个单核系统,那么该数值就是双倍的。
! E) R* T; |8 B4 z( ~0 m) e
图 1. 两个小时测试运行期间程序服务器 CPU 的使用情况
7 n! m3 R% k& I" Q # C1 F8 x2 O, S- q$ r* o

8 {( j% B- P* R1 |: A内存使用情况( H- A% o7 g2 k4 p( `4 B
表 4 显示了每次测试运行期间程序服务器上的负载。
, N9 h" T6 B8 P4 s* G
  • 峰值 RAM 使用率(Peak % RAM use) = 最高报告的 RAM 使用,用于查看是否有异常情况发生。
  • 平均 RAM 使用率(Average % RAM use) = 所有报告 RAM 使用的平均值。
  • 峰值 MB RAM 使用量(Peak MB RAM use) = 最高报告的 RAM 使用,以兆比特计算。
  • 平均 MB RAM 使用量(Average MB RAM use) = 所有报告 RAM 使用的平均值,以兆比特计算。
  • 总体 MB RAM 更改(Total MB RAM change) = 为了消除正常的 Windows 操作所使用的内存,我们使用当前测试运行的平均内存使用量减去以前测试运行的平均内存使用量。因此,10 个用户和 15 个用户之间的 MB 总体更改百分比(Total % change)是 2586.51 - 1983.12 = 603.39。
  • 单个用户更改百分比(% Change per user) = 总体 MB RAM 更改除以 5(这一数字在测试运行期间随实际用户数增减)。2 F+ P& o( a" L. p8 I# e$ K
( d& \4 [* t$ Y* |  J6 A8 U
表 4. 程序服务器内存使用情况) k1 d" O6 W! J- s+ v& z& D
测试运行峰值 RAM 使用率(%)平均 RAM 使用率(%)峰值 MB RAM 使用量平均 MB RAM 使用量总体 MB RAM 更改单个用户的 MB RAM 更改
5 个用户37.6132.401649.721427.04NANA
10 个用户46.5444.172089.571983.12556.08111
15 个用户61.1657.452753.452586.51603.39120
20 个用户77.7171.643498.583225.33638.82128
25 个用户88.9784.364005.313797.76572.43115
单个用户的平均 MB RAM 更改 = 118.5
; Y6 L' p( W2 U: P

5 H# ?/ g( [" u9 ~; ^/ [图 2. 两小时测试运行期间内程序服务器的内存使用率(Application server % of memory used)$ J2 {! @# v3 B

; ?! j) K6 T; L5 V6 E$ N6 k; N; F0 R' ~( t4 L1 m2 J- t; `
9 D9 G. j( h4 A- f/ w
图 3. 两个小时测试运行期间使用的程序服务器内存! O1 [1 u9 i5 A3 F

* T+ S. t2 b1 R' k# K8 H& ^; t* C- _; Y6 B, f  }$ i
硬盘使用情况
9 n$ J0 m  l1 b表 5 显示了每次测试运行期间程序服务器硬件驱动器上的负载。! c1 T5 I- [; H/ k6 @7 y# ]7 K- K
  • 平均硬盘时间使用百分比(Average % disk time use) = 所有报告硬盘使用平均值。
  • 总体更改百分比(Total % change) = 为了消除正常的 Windows 操作的硬盘使用量,我们使用当前测试运行的平均硬盘使用量减去以前测试运行的平均硬盘使用量。因此,10 个用户与 15 个用户之间的总体更改百分比(Total % change)是 4.31 - 2.66 = 1.65。
  • 单个用户更改百分比(% Change per user) = 总体更改百分比(Total % change)除以 5(测试运行期间随实际用户数的增减)。
    6 u; ?! u  b9 [, a
  Q/ E0 s  F4 u4 y' c4 K
表 5. 程序服务器硬盘使用情况" Q8 U) Q% O  t" j3 I
测试运行平均硬盘时间使用百分比(%)总体更改百分比(%)单个用户更改率百分比(%)
5 个用户2.13NANA
10 个用户2.660.53.11
15 个用户4.311.65.33
20 个用户5.280.97.19
25 个用户6.931.65.33
单个用户的平均更改率百分比(Average % change per user) = .24%

! b+ t: p4 w5 X% V7 D4 w8 N9 K/ [, C图 4. 两小时测试运行期间程序服务器的硬盘使用率5 v! ^5 `5 W/ d; Y
( K, J2 X2 n  R. y" {

, y; ^" q1 Q8 j% {: Q& V网络使用情况5 J7 z1 |7 o$ j7 Z) j! T& d/ O  ^: P
表 6 显示了每次测试运行期间程序服务器网络界面上的负载。" u: S/ o9 z- \( f* X2 p
  • 峰值网络 KB/sec = 最高报告的网络使用情况,用于查看是否有异常情况发生。
  • 平均网络 KB/sec = 所有报告网络使用的平均值。
  • 总体网络 KB/sec 更改 = 为了消除正常的 Windows 操作的网络使用量,我们使用当前测试运行的平均网络 KB/sec 使用量减去以前测试运行的平均网络 KB/sec 使用量。因此,10 个用户与 15 个用户之间的总体 KB/sec 更改是 266.48 – 161.32 = 105.16。
  • 单个用户的网络 KB/sec 更改 = 总体网络 KB/sec 更改除以 5(这一数字在测试运行期间随实际用户数增减)。  G" W: g, M: t5 j

& P7 q9 V' k4 r" `表 6. 程序服务器网络使用情况
6 y3 D3 y+ g' m9 i9 v8 I% u
测试运行峰值网络值 KB/秒平均网络值 KB/秒总体网络值 KB/秒 更改单个用户的网络 KB/sec 更改
5 个用户807.5978.78NANA
10 个用户810.98161.3282.5416.51
15 个用户9089.23266.48105.1621.03
20 个用户10063.78441.25174.7734.95
25 个用户11710.39513.7372.4814.50
单个用户的平均网络 KB/sec 更改 = 21.75
9 Q+ j' K# k& w0 l- C1 a9 q
图 5. 两小时测试运行期间程序服务器网络使用情况  n+ r6 e. B' J, j  `4 k' t
2 z: y, g7 b+ c; M' ~. y; z2 z

$ f* P0 r) O: W. t# Q/ K  a: L9 ~数据库服务器性能
  D- P' K; N0 Z9 Z* L$ RCPU 使用情况# G+ F' W. D$ O
图 7 显示了每次测试运行期间数据库服务器 CPU 上的负载。
3 m$ S/ [% U) q
  • 处理器平均使用率(Average % processor use) = 测试运行期间 CPU 的平均使用率。
  • 总体更改百分比(Total % change) = 为了从 Windows 操作中消除所有的处理器使用,我们在计算时使用当前测试运行的平均处理器使用率减去以前测试运行的平均处理器使用率。10 个用户和 15 个用户之间的总体更改百分比(Total % change)是 17.58 – 13.24 = 4.34。
  • 单个用户更改百分比(% change per user) = 总体更改百分比(Total % change)除以 5(这一数字在测试运行期间随实际用户数增减)。: G" V: v+ D- b# z7 E7 f

3 T( S6 D# X: S6 _# ^; G表 7. 数据库服务器 CPU 使用情况, S' B5 O* V" @  _
测试运行处理器的平均使用率(%)总体更改百分比(%)单个用户更改百分比(%)
5 个用户8.95NANA
10 个用户13.244.29.86
15 个用户17.584.34.87
20 个用户20.242.66.53
25 个用户23.032.79.56
单个用户的平均更改百分比(Average % change per user) = .71%

+ R: }) m! @& t. o图 6. 两小时测试运行期间数据库服务器 CPU 使用量
7 d  Q+ E! L7 O+ O8 W- m/ m % u3 K' _; E1 ~5 p
, O1 i( f$ |; n  D  Q! ?+ A
内存使用情况6 E/ K4 D+ t- x+ A8 A4 [
表 8 显示了每次测试运行期间数据库服务器内存使用的负载。
" T. |' s3 ^3 [* ?) J
  • 峰值 RAM 使用率(Peak % RAM use) = 最高报告的 RAM 使用情况,用于查看是否有异常情况。
  • 平均 RAM 使用率(Average % RAM use) = 所有报告 RAM 使用的平均值。
  • 峰值 MB RAM 使用量 = 最高报告的 RAM 使用量,以兆比特计算。
  • 平均 MB RAM 使用量 = 所有报告 RAM 使用量平均值,以兆比特计算。
  • 总体 MB RAM 更改 = 为了从 Windows 操作中消除所有的内存使用,我们在计算时使用当前测试运行的平均 RAM MB 使用量减去以前测试运行的平均 RAM MB 使用量。10 个用户和 15 个用户之间的总体 MB 更改是 2120.29 – 2117.33 = 2.96。
  • 单个用户更改百分比(% Change per user) = 总体 MB RAM 更改除以 5(这一数字在测试运行期间随实际用户数增减)。5 ?+ p! E. d' R7 n
" l2 X# v: H5 Y9 k5 R# l8 T
表 8. 数据库服务器内存使用情况$ K% D7 ?) z3 p1 r; E4 [: ^6 C7 M/ r# v
测试运行峰值 RAM 使用百分比(%)平均 RAM 使用百分比(%)峰值 MB RAM 使用平均 MB RAM 使用总体 MB RAM 更改单个用户的 MB RAM 更改
5 个用户50.3050.232119.572116.54NANA
10 个用户50.2950.252119.072117.330.79.16
15 个用户50.4850.322127.362120.292.96.59
20 个用户50.4050.332123.732120.680.39.08
25 个用户50.3550.252121.782117.49-3.19-.64
单个用户的平均 MB RAM 更改 = .05
6 k: D/ H* C* }. i! A
图 7. 两个小时测试运行期间数据库服务器内存使用的百分比(Database server % of memory used)( o' S2 g3 e! z  n% Z$ }

7 R! I! c5 L8 G' B* Q; i4 }( b% w) P# T! o+ d) q
9 c( k. ?7 k* N4 m1 F4 n
图 8. 两个小时测试运行期间数据库服务器使用的内存) g2 M8 i% Z" h% u0 T4 Y3 i8 m
6 L9 l9 j0 e4 k% T; a
0 R% w# Y% S9 i# s9 ~( A0 L7 z
硬盘使用情况% O8 b- S% E2 C
表 9 显示了每次测试运行期间数据库服务器硬盘之上的负载情况。
+ x: }1 y$ m8 Y: z% M& a) u
  • 平均硬盘使用时间百分比(average % disk time use) = 所有报告硬盘使用的平均值。
  • 总体更改百分比(Total % change) = 为了消除正常的 Windows 操作的硬盘使用俩,我们计算使用当前测试运行的平均硬盘使用时间百分比(average % disk time use)减去以前测试运行的平均硬盘使用时间百分比(average % disk time use)。例如,10 到 15 个用户之间的总体更改百分比(Total % change)是 4.23 – 2.60 = 1.63。
  • 单个用户更改百分比(% Change per user) = 总体更改百分比(Total % change)除以 5(这一数字在测试运行期间随实际用户数增减)。$ G3 k1 d1 O7 R* H% T! M

  h& w3 |6 u7 Y  R0 P9 ~8 f表 9. 数据库服务器硬盘使用情况# A7 N% \& o! r1 m; k0 G5 w
测试运行平均硬盘时间使用百分比(%)总体更改百分比(%)单个用户更改百分比(%)
5 个用户2.30NANA
10 个用户2.600.30.06
15 个用户4.231.63.33
20 个用户5.210.98.20
25 个用户6.341.13.23
单个用户的平均硬盘使用更改百分比 = .21

/ |2 ~* H9 G2 N8 b: d% l4 I图 9. 两个小时测试运行期间的数据库服务器硬盘使用率(Database server % disk use)8 A& v( a' c( ~" O5 P" L
. Z* u2 O- k* p( ]" Z) [: J0 f
- q! C3 \6 K: D: i5 \9 O; q) n
网络使用情况
1 G2 W. }  c4 p% n' p4 M- c表 10 显示了每一次测试运行期间数据库服务器网络界面的负载情况。
% Q! Y6 w) i6 R" y1 p" m
  • 网络峰值 KB/sec = 最高的报告网络使用量,用于查看是否有不正常的情况发生。
  • 网络平均值 KB/sec = 所有报告网络使用量的平均值。
  • 网络总值 KB/sec 更改 = 为了消除正常的 Windows 操作的网络使用量,我们计算使用当前测试运行的平均网络 KB/sec 使用量减去以前测试运行的平均网络 KB/sec 使用量(例如,10 到 15 个用户之间的总体 KB/sec 更改是 263.54 – 157.11 = 106.43)。
  • 单个用户网络 KB/sec 更改 = 总体网络 KB/sec 更改除以 5(这一数字在测试运行期间随实际用户数增减)。; E$ K' H5 R/ c$ Q0 O2 z) V" }  F6 h
& }% ]' I7 u5 e6 a( I1 u$ `
表 10. 数据库服务器网络使用情况
8 E+ U! G, r2 y) S
测试运行峰值网络 KB/sec平均网络 KB/sec总体网络 KB/sec 更改单个用户网络 KB/sec 更改
5 个用户802.2674.52NANA
10 个用户922.15157.1182.5916.52
15 个用户10095.64263.54106.4321.29
20 个用户11356.14435.65172.1134.42
25 个用户11755.05505.9170.2614.05
单个用户的平均网络 KB/sec = 21.57
0 O8 N+ ~0 B& }' y8 d% t
图 10. 在 两个小时测试运行期间的数据库服务器网络使用情况  z# j/ }5 ?5 ^+ _3 R
: G* q' \% @4 Q0 M0 {/ z8 K
. Y( w0 @0 N8 Y' Q* w; S


2 n0 D# ?# Y( G, ~9 c' ?7 C
. @% g0 ?8 J1 i$ R! ^$ X5 _# ^结论9 c. J& d# q; w
目标
5 J3 A3 m& s) ~; d6 R- f- h目标 1. 在一个给定的硬件配置条件下,决定有多少个并发用户可以有效地发挥功能。- t9 [. C, m6 p" \% t5 S( z! q
考虑到本文中使用到的硬件配置情况,我们相信 25 个并发 Rational System Architect 用户能够有效地发挥功能。执行典型操作的响应时间是可接受的,打开一个图表平均的最长时间为 2.24 秒。" S& a6 T: p. I( |- T! R
限制测试环境可伸缩性的主要因素是程序服务器的 CPU 和内存使用情况。在 25 个并发用户的情况之下,CPU 和内存使用率分别是 74% 与 84%。其他的用户有可能导致资源过多使用,并造成显著的性能降级。
! F/ j: H! \- X目标 2. 开发一个指南,来帮助预计随着并发 Rational System Architect 用户数量的增长所需要的硬件。8 H. \6 W; q$ j5 j: [4 i
表 11 显示了测试环境之中单个用户对资源的平均使用情况。
! W* G, X% t: s" i8 B) I0 ^4 u+ D4 g( v: W3 e1 m: d
表 11. 单个用户的平均资源使用情况
% X2 \( n, F) {3 v; Y% E1 ^
- p& M8 _. W% O( d( ~6 \% X  D7 C7 [
程序服务器数据库服务器
CPU3.01%0.71%
内存118.5 MB0.05 MB
硬盘0.24%0.21%
网络21.75 KB/s21.57 KB/s
通过查看单个用户对资源的平均使用情况,估计支持其他 Rational System Architect 用户所需要的硬件就成为可能的了。让我们考虑一下以下两种情况:50 个和 200 个并发用户。
. N  j. Z8 c9 @5 L7 |50 个用户
2 p- o, H$ u* G
' Z+ c. e! ?/ m程序服务器
; K1 j  g3 ^6 ~2 f8 m
从程序服务器开始,我们可以看到单个用户的硬盘和网络使用都非常低,而且不是限制性的因素。估计的硬盘使用率是 12%(.24 * 50),而网络使用将会是 8.7 Mbps(21.75 * 8 * 50)。. D0 [9 [9 a6 U6 s% I7 r
CPU 使用率为单个用户 3.01%,用户负载为 50 时,本文所用到的双核 CPU 负担就会过重了(3.01 * 50 = 151%)。另外,内存使用为每用户 118.5 MB,用户负载为 50 位时,可以使用到的内存都会被使用到(118.5 * 50 = 5.9 GB)。为了消除这些限制性的因素,我们推荐将使用到的程序服务器升级到带有 8 GB RAM 的四核 CPU。4 n" t1 F$ k' O- c0 M5 j+ ~

4 D7 j" V4 D* k+ R% j* Q) w数据库服务器

; H  ?4 f, h. ]) U2 E9 d9 k" |至于数据库服务器,我们看到 CPU,硬盘和单个用户的网络使用率都很低,并且不会成为限制性的因素。估计的 CPU 使用率会是 35.5%(.71 * 50),硬盘使用率是 10.5%(.21 * 50),而网络使用情况是 8.6 Mbps(21.57 * 8 * 50)。
  h2 l# L5 m* b7 [8 V当您在考虑数据库服务器上的内存使用情况时,查看数据库的大小,要比查看单个用户对内存的使用情况更加重要。一般来说,您需要足够多的内存,来承担使用到的最大数据库。本文中使用的数据库大小为 2.8 GB。考虑到现代的数据库随着时间的推移不断变大,所以将 RAM 配置为 4 GB 将会是合理的。- |) H8 p' q$ X8 }- V" R8 J* q
总而言之,本文中使用到的数据库服务器能够支持 50 个并发数据库。  q9 `& r( U1 X( d; `
200 个用户
0 K. y2 M0 m1 N. I* m' e' g; H9 K5 ?& u5 r4 E) F
程序服务器

4 w( ~% r2 w( K0 U从程序服务器开始,我们可以看到单个用户的硬盘和网络使用都非常低,而且不是限制性的因素。估计的硬盘使用率是 48%(.24 * 200),而网络使用将会是 34.8 Mbps(21.75 * 8 * 200)。
: M6 E- q& x3 w  X( VCPU 使用率为每位用户 3.01% 时,在 200 个用户的负载下该研究所使用的双核 CPU 负担就变得过于严重了(3.01 * 200 = 602%)。另外,当内存使用率为每用户 118.5 MB 时,在 200 个用户的负载下所有可用的内存都会得到使用(118.5 * 200 = 23.7 GB)。您可以使用两种方法来转移这些限制性的因素:
# r, D0 ]" Q9 p. q" F# g5 P
  • 第一种方法是在一个单个的高性能服务器上部署 Rational System Architect,该服务器由拥有 32GB RAM 的 4 核 CPU 组成。
  • 另外一种更为实用的方法是在四个不同的程序服务器上部署 Rational System Architect。每个程序服务器拥有单个的四核 CPU 以及 8 GB 的 RAM,并且可以支持多达 50 个的并发用户。这种方法就是所谓的 服务器集群。其他的程序服务器可以根据需要添加至集群之中,支持日益增长的可伸缩性。数据库服务器" Q# O8 }0 ~6 J, \' S9 `2 p
切换至数据库服务器,我们看到单个用户的硬盘和网络使用都非常低,而且不是限制性的因素。估计的硬盘使用率是 42%(.21 * 200),而网络使用将会是 34.8 Mbps(21.57 * 8 * 200)。. N' v* F" `0 a
就算单个用户的 CPU 使用率很低,当它为 .71% 时,在 200 个用户的负载之下数据库服务器的单个 CPU 负担将会非常严重(.71 * 200 = 142%)。为了移出该限制性因素,我们推荐您将数据库服务器升级为双核的 CPU。  d( \* n% [2 W1 j8 D9 g5 n! |+ B
当您在考虑数据库服务器之上的内存使用情况时,查看数据库的大小,要比查看单个用户所使用数据库的情况更加重要。一般来说,您想拥有足够多的内存,来承担使用到的最大数据库。本文所使用的数据库大小为 2.8 GB。考虑到数据库的规模随着时间的增长不断扩大,所以配置一个 8 GB 的 RAM 将不失为一个明智的选择。
" o2 _- t3 a/ x- S总而言之,为了支持本文中 200 位并发用户使用数据库服务器,您需要升级到带有 8 GB RAM 的双核 CPU。' A, ~6 S) M! L) [# I2 E5 h4 }! F! W

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
 楼主| 发表于 2011-12-15 16:05:24 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2018-1-17 22:10 , Processed in 0.087743 second(s), 6 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

快速回复 返回顶部 返回列表