4. 目标环境架构设计与容量规划

Windchill 升级迁移的目标环境设计,核心不是“把旧机器换成新机器”,而是围绕业务增长曲线和高可用要求,重新确定应用层、数据库层、文件存储层、负载均衡与网络拓扑之间的容量边界和故障边界。设计时先回答三个问题:当前有多少并发用户、峰值时段集中在哪些操作、未来三年数据量和附件增长速率是多少。只有把这三个输入量化,后续的服务器规格、存储 IOPS、数据库连接数和网络带宽才有依据。

一、目标架构分层与职责边界

Windchill 典型目标架构分为五层:接入层、应用层、数据库层、文件存储层和基础网络层。接入层由负载均衡器承担,负责 TLS 卸载、会话保持和健康检查;应用层由多台 Windchill 应用服务器组成集群,运行 Method Server、Servlet Engine 和后台队列;数据库层承载 Oracle 或 SQL Server,保存元数据、工作流状态和权限关系;文件存储层保存 CAD 文档、可视化文件和电子仓库内容;网络层则通过 VLAN 划分和防火墙策略隔离各层流量。

需要特别注意的是,Windchill 的 Method Server 与 Servlet Engine 虽然常部署在同一台应用服务器上,但两者对 CPU 和内存的消耗模式不同。Method Server 负责后台任务、生命周期计算和队列处理,属于长事务型负载;Servlet Engine 处理用户交互请求,属于短连接高并发型负载。在容量规划时,建议将两者按 1:1 或 1:2 的比例分配资源,并在集群中至少保留一台专门用于后台任务的节点,避免用户高峰时后台任务抢占交互资源。

客户端用户 / CAD 集成端 浏览器 · Creo · SolidWorks · Office 插件 负载均衡层(F5 / Nginx / HAProxy) TLS 卸载 · 会话保持 · 健康检查 · 请求分发 Windchill 应用服务器集群 App-01 Servlet + Method 16C / 64G App-02 Servlet + Method 16C / 64G App-03 Servlet + Method 16C / 64G App-04(后台专用) Method Server Only 8C / 32G 数据库层(Oracle RAC / Data Guard) 主库:32C / 128G / SSD 备库:32C / 128G / SSD(同步复制) 连接池上限 800 · SGA 64G · PGA 16G 文件存储层(NAS / 对象存储) 电子仓库:NFS v4.1 / S3 兼容 容量:20TB 可用 · 快照 + 异地复制 IOPS ≥ 5000 · 吞吐 ≥ 1.5GB/s 网络拓扑与安全隔离 VLAN 10:客户端接入 · VLAN 20:应用集群 · VLAN 30:数据库心跳 · VLAN 40:存储专网 防火墙策略:仅允许 443/8443 入站,数据库端口仅对应用层开放 接入层 双机热备 VIP 漂移 应用层 水平扩展 会话复制 数据库 主备同步 存储 快照复制

二、容量规划的关键参数与估算方法

容量规划不能凭经验拍脑袋,需要建立可复算的估算模型。以并发用户数为起点:假设当前注册用户 800 人,峰值并发率 12%,则峰值并发约 96 人。Windchill 每个交互式会话平均占用 1.5~2.5 个 JVM 线程,按 2.0 计算,Servlet Engine 需要约 192 个活跃线程。Tomcat 默认最大线程数 200,因此单台应用服务器在峰值时会接近饱和,至少需要 2 台应用服务器分担,并保留 30% 余量,即 3 台。

数据库侧按“每并发用户 0.8~1.2 个连接”估算,96 并发对应约 96 个活跃连接,加上后台队列和连接池空闲连接,总连接数控制在 300~400 较为合理。若使用 Oracle,建议 SGA 设置为物理内存的 50%~60%,PGA 按每连接 2~4MB 估算。文件存储按“每用户每年新增 2~5GB 附件”估算,800 用户三年增量约 4.8~12TB,加上现有存量和快照空间,20TB 可用容量是合理起点。

示例估算(非实测):某制造企业 Windchill 升级项目,注册用户 800,峰值并发 96,应用服务器 3 台(16C/64G),数据库主备各 1 台(32C/128G),NAS 可用容量 20TB,负载均衡双机热备。该配置可支撑三年内年均 15% 的用户增长和 20% 的数据增长。

三、高可用设计要点

高可用不是简单堆机器,而是消除单点故障并定义故障切换时间。接入层采用双机热备加 VIP 漂移,切换时间控制在 30 秒内;应用层至少 3 节点,任意 1 节点宕机后剩余节点承接全部流量,会话通过共享存储或数据库持久化;数据库采用 Data Guard 或 AlwaysOn 同步复制,RPO 接近 0,RTO 控制在 5 分钟内;文件存储使用 NAS 双控制器或对象存储多副本,避免单控制器故障导致电子仓库不可读。

网络拓扑上,应用层与数据库层之间建议使用独立心跳 VLAN,避免大流量附件传输影响数据库心跳检测。客户端到负载均衡走 443,负载均衡到应用服务器走 8443 或 8080,应用服务器到数据库走 1521(Oracle)或 1433(SQL Server),应用服务器到存储走 NFS 2049 或 S3 443。所有跨层访问均通过防火墙策略显式放行,默认拒绝。

四、可执行的容量规划检查表

检查项 示例目标值 判断依据
峰值并发用户数 96(注册 800 × 12%) 历史监控峰值 + 业务增长系数
应用服务器数量 3 台(16C/64G) 单台承载 40 并发,保留 30% 余量
数据库连接池上限 400 活跃连接 96 + 后台队列 + 空闲余量
文件存储可用容量 20TB 存量 + 三年增量 + 快照空间
负载均衡切换时间 ≤ 30 秒 VIP 漂移 + 健康检查间隔
数据库 RTO / RPO ≤ 5 分钟 / ≈ 0 同步复制 + 自动故障转移

完成上述设计后,建议在目标环境搭建完成后进行一次基准压测:模拟 96 并发用户执行检出、检入、生命周期推进和 BOM 展开操作,观察应用服务器 CPU 是否持续低于 70%、数据库等待事件是否以 I/O 为主、存储延迟是否低于 10ms。若某项指标超标,优先调整对应层的规格或数量,而不是全局扩容。容量规划是一个迭代过程,升级上线后仍需按季度复核实际增长曲线并修正模型。