🖥️ 第八章 服务器的导入
📄 一句话概括

导入方式定了(8.1-8.2),接下来是把"要买多大、放哪里、电够不够"算清楚:系统架构先画方框和箭头(谁连谁、单点在哪、扩到几台);性能预估走四步流水线——并发数 = 人数×在线比 → QPS = 并发÷请求间隔 → 核数 = QPS÷单核算力 → 留 30~50% 余量;虚拟化环境还要加一道题:所有 VM 加总 ≤ 物理底座 − Hypervisor 开销。设置场所挑的是电、冷、网、门四样,电源则三级接力:双路市电顶日常、UPS 顶停电瞬间、自发电接管长期。

📝 本篇和前面几篇的关系

这是全课程"算账"主线的大会师:1.7-1.9 的模型化在本篇正式上岗叫"系统架构";3.1-3.3 的性能预估三步公式在 8.4-8.5 展开成完整流程并加上虚拟化这一章的新变量;2.4-2.7 的机架与冗余、7.8-7.12 的 UPS/自发电都在"设置场所与电源"里归位。难度升到 ⭐⭐⭐——这几节不但要懂,还要会算。

一、系统架构:先画图,再花钱

系统架构就是把要建的系统画成方框和箭头:每个方框一台服务器(或一个角色),每条箭头一条数据流。第一章的"模型化三问"在这里正式上岗:

  1. 谁连谁——客户端连 Web?Web 连数据库?中间要不要加缓存和负载均衡?
  2. 单点在哪——哪台机器一坏全系统瘫痪?(那是接下来要上双机/集群的候选,7.8-7.12 的预案)
  3. 要几台够——一台全能 vs 分工多台:小系统一台虚拟机切三块;大系统按角色分工,坏一台只死一角

架构图是所有后续动作的底图——性能预估是往图里填数字,预算是给图里每个方框标价。跳过画图直接买机器,等于没量尺寸先下单西装。

二、性能的预估:四步流水线

3.1-3.3 的三步公式在这里补全成四步(含余量):

步骤 公式 例子
① 并发数 人数 × 在线比例 1000 人 × 20% = 200 人同时在线
② QPS 并发数 ÷ 请求间隔 200 人 ÷ 2 秒/人 = 100 次/秒
③ 所需核数 QPS ÷ 单核算力 100 次/秒 ÷ 单核 50 次/秒 = 2 核
④ 余量 ×1.3~1.5 2 核 → 配 3~4 核(按峰值定容量、按平均算成本)

两个纪律:用峰值不用平均(第四章爆发系的账,平时 20 人用、月末结账 500 人涌进来,得按 500 算);别只算 CPU——内存(每个连接吃一份)、磁盘 I/O(日志与数据读写)、网络带宽(大文件场景带宽先顶死)都要过一遍,瓶颈往往不在 CPU。

三、虚拟化环境中的预估:所有 VM 加总 ≤ 物理底座

8.4 的公式算出的是每台虚拟机的需求;虚拟化环境还要加一道总账题:

所有 VM 加总 ≤ 物理底座 − Hypervisor 自身开销(约 10~20%)

四、设置场所:机器不挑风水,挑电、冷、网、门

服务器放哪,四个候选在 2.8-2.12 排过队(办公室/自建机房/托管/云)。若选前三档,现场要过四关:

外加容易漏的承重:满载机柜可超过 800 kg/m²,老写字楼的楼板未必扛得住——这是把机房放在三楼之前必须问结构的一句话。

五、电源供应:三级接力,谁来断都不怕

7.8-7.12 讲过 UPS 与自发电的接力,这里并入完整的供电清单:

  1. 双路市电——供电局拉两路独立线路,一路检修/故障走另一路
  2. 服务器双电源(N+1)——机器本身两个电源模块各接一路市电(2.4-2.7 的规格表第一栏)
  3. UPS——两路市电同时断的瞬间零间隙顶上,撑几分钟到几十分钟:够恢复供电最好,不够就安全关机(防数据写一半)
  4. 自发电——长时间停电的主力,启动空窗由 UPS 填

功率也要预估:单台 2U 服务器约 500W,一柜 20 台约 10kW,制冷再耗同等量级——电费和扩容上限都由它决定,这也是"设置场所"和"电源"必须一起算的原因。

六、常见误区

  1. "性能预估就是算 CPU"——内存、磁盘 I/O、带宽都是常见瓶颈;文件服务器卡几乎从不缺 CPU,缺的是磁盘队列(6.1-6.2 监控里那个 2.8 的告警就是它)。
  2. "虚拟机想切多少台切多少台"——超分不是魔法:所有 VM 加总超底座太多,Hypervisor 就开始"拆东墙补西墙",全体变卡;总账要留 10~20% 开销与波动。
  3. "机房就是找个空房间放机柜"——温度、湿度、承重、消防、门禁、供电,每一项都是硬指标;办公室角落放两台机器可以,放两柜就是定时炸弹。
  4. "有了 UPS 就不怕停电"——UPS 是电池不是发电机,分钟级续航只为"撑到恢复或安全关机";长时间停电靠自发电,两级缺一不可。

七、动手 Demo:给"虚拟化底座"算一笔账

用 PowerShell 查清底座规格,然后亲手做 8.5 那道总账题:

第一步:查底座(就用你这台机器当样板)

Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLogicalProcessors
Get-CimInstance Win32_ComputerSystem | Select-Object @{n="内存GB";e={[math]::Round($_.TotalPhysicalMemory/1GB)}}

看到什么算成功:核数与内存数到手——假设 8 核 16GB。

第二步:做总账题:要在这台机器上切"2 核 4GB"的虚拟桌面,能切几个?

看到什么算成功:答案"3 台"出自最紧的那项资源——这直觉就是虚拟化预估的全部:木桶装多少水,看最短那块板。

30 秒实验:把例子里的桌面内存改成 2GB 再算——变成 6 个。每个 VM 的规格假设,直接决定底座买多大;预估错一倍,预算就错一倍。

自测三问(点开对答案) 1. 性能预估四步?哪一步最容易被忽略?——并发数→QPS→核数→留 30~50% 余量;余量(以及"别只算 CPU")最容易被忽略。 2. 虚拟化环境的加试题是什么?——所有 VM 加总 ≤ 物理底座 − Hypervisor 开销(10~20%);超分只对不会同时满载的负载安全,瓶颈按最紧的资源算。 3. 机房四关与电源三级接力分别是什么?——冷(温湿度)、电、网、门(物理安全)+承重;双路市电→UPS(瞬间+安全关机)→自发电(长期)。

相关笔记