StarTeam 服务器部署的关键因素 1 、服务器端组件部署策略 根据 StarTeam 所支持团队的大小,需要采取不同的部署方案来保证 StarTeam 的性能及可 靠性。存储库大小、并发用户数、是否部署 StarTeam MPX、应用程序的复杂程度(指自定义表 单、自定义字段等)等等,都会对 StarTeam 的性能产生影响。根据经验数据,团队的大小在一 定程度上与 project、view 的数量成正比,而 project、view 的数量又决定了存储库中数据量, 所以我们可以使用并发用户数来界定 StarTeam 配置库(Server Configuration)的大小。根据 并发用户数多少把 StarTeam 配置库分为三种类型: 1. 小型配置库:并发用户数不超过 50; 2. 中型配置库:并发用户数不超过 100; 3. 大型配置库:并发用户数达到并超过 100; 1.1 一个服务器上部署多个配置库 对于小型或中型的配置库,可以把所有的 StarTeam 服务器端组件(StarTeam Server、 Database 等)都部署到一台机器上。下图给出了相应的部署图。 一台机器上所有配置库的并发用户之和不能超过 100,但一台服务器的并发用户数的峰值到 达 100 时,建议把服务器上的某个配置库迁移到另一台机器上。StarTeam Server 相关的 Root Message Broker 进程、Root Cache Agents 进程、Database Server 进程以及所有的 StarTeam Server 进程都运行在一台机器上,因此对机器配置有以下要求: Database Server 进程需要分配一个 CPU 及 1G 内存; 每增加一个 StarTeam 配置库需要分配一个 CPU 及 1G 内存; 1.2 中型配置库 当并发用户数达到中型配置库的标准时,首先需要为 Database 提供一个单独的机器安装。 下图给出了相应的部署图。如图,除数据库独立外,其他进程仍然可以运行在同一台机器上。 Database Server 进程占用的负载被转移后,允许的并发用户数可以到达 200-300。 然而对于有多个配置库的情况,vaults 和 databases 会分布在不同磁盘上,不利于备份和 管理,因此建议把需要备份的数据放到一个公用的磁盘上,如下图所示: 1.3 大型配置库 大型配置库是指可以支持 100 个以上并发用户的配置库。对于大型配置库,需要给每个 StarTeam Server 进程提供单独的机器,Database Server 进程也需要单独的机器支持,Root Message Broker 进程,Root Cache Agents 进程最好也使用单独的机器(MPX)支持。特别 是当并发用户数达到并超过 200、300 时,MPX 进程运行在单独的机器上会很好的消除 StarTeam Server 上的网络阻塞和资源争用。下面给出了多个大型配置库的部署图: 对于大型配置库的部署需要注意: 1. 每个 StarTeam Server 进程需要运行在一个单独的机器上,机器配置需要满足 2 CPU、2 G 内存用于支持 100-200 的并发用户,200 个以上的并发用户需要 4 CPU、4 G 内存; 如果预期用户数还会持续增加,推荐使用 4 CPU、4 G 内存; 2. Database Server 进程需要运行在单独的机器上,多个 StarTeam 配置库可以共享一个 Database Server。StarTeam server 和 Database Server 之间需要 1G 的高速网络连接。 3. Root Message Broker 进程,Root Cache Agents 进程可以运行在同一台机器上,称 为 MPX。每个 Cache Agent 需要访问相应的 vault,此时高速网络连接并不是必须的,通过网 络的文件访问就足够了。如果需要使用工作流 Notification Agent,也可以部署到这台机器上。 4. 所有的 StarTeam vault 和 database 使用一个公共的存储服务器管理。 2 、影响服务器性能的因素 对于 StarTeam 服务器端硬件的选择,需要考虑各方面的因素,例如,计划部署几个配置库 (Server Configuration)、配置库中大概会有多少工作产品、预期的并发用户数、预期组织内 项目及人员的增长情况等等。即使对这些因素有明确的的预期,在评估硬件需求的过程中也仅仅 是估算,而不可能做到精确的计算。这是因为,配置库使用过程中会有一些不确定因素,例如文 件大小、配置库增长情况、同时进行签出操作的并发用户数等等。正是因为有这些不确定因素, 我们更需要了解 StarTeam 服务器端的各种服务对那种硬件资源的占用得更多。下面介绍 StarTeam 服务器端的各种服务对不同硬件资源的占用情况。 2.1 StarTeam Server 进程相关 StarTeam Server 进程对硬件资源的占用按重要级别排序依次为: 1) 内存 StarTeam Server 进程推荐的最小内存为 256M。如果需要支持 10-20 个用户,内存必须 达到 512M;当并发用户数介于 50-100 之间时,必须有 1-2G 的内存支持 StarTeam Server 进程;而并发用户数超过 200 时,必须有 2-4G 内存支持。 注意:对于 32 位的 Windows 操作系统,给一个进程分配的最大虚拟内存是 2G,当 2G 内 存都被使用的情况下,StarTeam Server 进程可以把最大虚拟内存调至 3G。 2) CUP CPU 的速度、一二级缓存大小等参数都会对 StarTeam Server 的性能产生影响,由于它是 多总线的架构,多个 CUP 对提高 StarTeam Server 的性能有帮助。当预期并发用户数介于 25- 50 之间时,可以考虑使用带有双核处理器的机器;当并发用户数介于 50-100 之间时,可以考 虑使用带有四核处理器的机器。 3) 网络 在并发操作较多的情况下,网络带宽对 StarTeam Server 的性能有较大影响。如果使用独 立于 StarTeam Server 的数据库服务器,那么需要在这两台服务器之间提供 100M-1G 的内网带 宽。当连接 StarTeam Server 服务器的客户端很多,且执行的操作,例如批量的文件签出操作, 也相当多时,客户端和 StarTeam Server 服务器端的网络连接将称为瓶颈。带宽为 100M 的内 网将足以支持 100-200 个并发用户,当并发用户数超过 200 时,需要考虑使用 1G 的带宽。事 实上,所有的 StarTeam Server 进程都是处理到数据库和 Vault 的 I/O 操作,下面介绍数据库和 Vault 对硬件资源的占用情况。 2.2 数据库相关 数据库也是 StarTeam 服务器端的一部分,需要考虑数据库的配置、备份、收缩等操作。当 需要考虑数据库硬件选择时,下面给出了一些参考意见: 1) 内存 与 StarTeam Server 类似,数据库系统也是使用内存缓存机制来改进性能的。对于大型的 StarTeam 配置库,需要将数据库系统放到单独的服务器上,并使内存大小足以满足数据库服务 的需要。 2) 磁盘阵列 使用磁盘阵列会在很大程度上提高数据库 I/O 操作的性能,不同的 RAID 级别对性能改进和容 错能力有不同程度的支持,可以考虑对数据库使用某种级别的磁盘阵列。 3) CPU 与 StarTeam Server 类似,数据库系统也支持多线程,使用速度更快,多个处理器的系统 也会提高数据库系统的性能。 4) 网络 前面提到过,如果有单独的数据库服务器,那么就要求在数据库服务器与 StarTeam Server 服务器之间使用高速的专线网络连接。 2.3 Vault 相关 所有基于文件的操作都是针对 Vault 进行的,例如签入、签出操作,添加附件等等。Vault 由 Cache、Archive、Attachments 组成,下面给出针对这几个部分的 I/O 操作: 1) Cache Cache 是 Vault 中使用最频繁的部分,签入文件时会向 cache 中新增文件;签出时,如果 cache 中已经有这个文件就直接签出,如果没有这个文件,待签出文件会被添加到 cache 中。 2) Archive Archive 的使用频率仅次于 Cache,每个文件在签入时,会向 archive 中新增文件,或者更 新 archive 中已有的文件。文件签出时,如果在 cache 中没有找到相应的文件,就会访问 archive 中的文件。 3) Attachments Attachment 中的文件的使用频率更低,只有当通过 CR、task、topic 和 requirement 对 象访问时,才会向 Attachment 文件夹中添加文件或读文件。注意避免将 Cache 和 Archive 安 装到系统盘。如果数据库和 StarTeam Server 在同一台机器上,避免将数据库数据文件与 Vault 存储在一个盘。如果有多个磁盘,请将数据库、Cache、Archive 和系统分布在不不同的磁盘, 从而使允许的 I/O 并发数最大。如果对 Vault 采用 RAID 机制,会提高 Cache 和 Archive 的性能。 但是,由于 Cache 中的数据来源于 Archive,因此 RAID 的容错特性只对 Archive 有效。 2.4 MPX Message Broker 相关 MPX 可以降低网络拥塞,即使是将 Message Broker 与 StarTeam Server 进程部署到同一 台机器上。但是在没有增加硬件的情况下,StarTeam MPX 会使客户端相应时间和服务器端吞吐 量有一定增涨。因为,MPX Message Broker 是独立的进程,可以通过把该进程与 StarTeam Server 进程部署到两台不同的服务器上来缓解网络拥塞。另外,MPX Message Broker 进程对 所在服务器的要求并不高,内存大小和 CPU 数量对 Message Broker 进程并没有影响。因为, Message Broker 进程只起通信服务器的作用,对内存和 CPU 的占用很少,而且几乎没有磁盘 I/O 操作。 2.5 使用性能相关 如何使用 StarTeam 进行配置管理也会对某些特定操作的性能产生很大影响,下面总结了会 对内存占用、数据库
19-服务器部署的关键因素
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
本文于
2022-07-22上传分享