第九章

性能监控与优化

第九层 · 指标/告警/容量规划 从“感觉卡”到“数据说话”

一、"感觉服务器有点卡"是最可怕的话

双十一前一周,小圆跑来找小陈:"小陈,客服说最近网店'感觉有点卡',你看看吧。"

小陈正要拍胸脯说"我去重启一下",被老周拦住了。

"'感觉卡'是最可怕的需求——没有数据,你根本不知道卡在哪。 是 CPU 不够?内存不足?磁盘慢?网络延迟?数据库慢查询?还是应用代码本身的问题?"老周说,"重启只能解决'玄学卡',解决不了'真卡'。走,我带你看 vSphere 的性能监控。"


二、性能监控看什么:五大指标

"vCenter 自带性能图表,每个 VM/主机都能看。先记五大指标:"老周打开监控界面:

五大性能指标(vSphere Performance):
  ① CPU:使用率%、就绪时间(CPU Ready)、争抢
  ② 内存:使用率%、活跃内存、气球驱动(Ballooning)
  ③ 磁盘:IOPS(每秒读写次数)、延迟(ms)、吞吐量
  ④ 网络:吞吐量(Mbps)、丢包、错误
  ⑤ 应用层(配合 Guest OS 内看):慢查询、连接数、GC ...

注意:vSphere 里看"就绪时间"(CPU Ready)很关键:
  CPU Ready 高 = vCPU 在排队等物理核 = CPU 资源真不够了

"记口诀:CPU 看出就绪,内存看 Balloon,磁盘看延迟,网络看错误。 这四个'异常信号',是定位性能问题的钥匙。"


三、性能问题定位四步法

"假设现在真卡了,怎么查?四步:"老周演示:

第一步:看"受害者"是谁(哪台 VM 卡?)
  打开 vCenter 性能图表,看所有 VM 的 CPU/内存/磁盘/网络
  → 定位到"卡的那台"

第二步:看"瓶颈"在哪(四大资源哪个到顶?)
  这台 VM 的 CPU 90%+?内存 95%+?磁盘延迟飙到 100ms?
  → 找到"顶到天花板的那个资源"= 瓶颈

第三步:看"为什么"(瓶颈的根源)
  CPU 高 → 是应用算法问题?还是 vCPU 太少?还是被别的 VM 抢?
  磁盘慢 → 是存储本身慢?还是快照太多?还是 IO 冲突?
  网络慢 → 是带宽不够?还是 VLAN 配置问题?

第四步:看"怎么办"(优化方案)
  → 加 vCPU/内存(先确认物理资源有余量)
  → 调整份额/预留(第七章)
  → vMotion 到更闲的主机(DRS 会做,也可手动)
  → 应用层优化(慢查询、缓存、代码)

"记住:先看数据定位,再动手优化。 别一卡就重启、一卡就加资源——那是瞎猫碰死耗子。"


四、容量规划:别等爆了才扩容

"监控不光是'出事了排查',更重要的是'提前规划'。"老周说:

容量规划(Capacity Planning):
  看趋势,提前准备资源:
  ① 看历史趋势:过去 3 个月 CPU/内存/磁盘的增长率
  ② 预测未来:按当前增速,90 天后会到什么水平?
  ③ 提前扩容:在"还有余量"的时候下单买硬件/加节点
     (别等 100% 了才想起来,采购要几周!)

云间书店的容量规则(示例):
  - 集群 CPU 峰值 > 70% 持续 1 周 → 准备扩容
  - 数据存储使用率 > 80% → 预警(加盘或清理快照)
  - 内存超分比 > 1.5 且出现 Ballooning → 加内存
  - 每年双十一前做一次"容量体检"

"容量规划 = 运维的'未雨绸缪'。 好的运维不是'救火队长',是'天气预报员'——在大雨之前就发预警。"


五、告警(Alerts):让系统自己"喊救命"

"你不能 7×24 小时盯着图表。所以要让系统自动告警。"老周配置 vCenter 告警:

vCenter 告警配置(示例):
  CPU 使用率 > 90% 持续 10 分钟      → 黄色告警 → 通知
  内存使用率 > 95%                    → 红色告警 → 电话
  数据存储剩余空间 < 20%              → 黄色告警 → 通知
  VM 心跳丢失(VM 无响应)            → 红色告警 → 立刻处理
  主机进入非连接状态(主机挂了)        → 红色告警 → HA 接管

告警通道:
  vCenter 邮件通知 → 微信/钉钉/短信(接第三方)
  集成:vRealize Operations(vROps,AI 运维,第十一章)

告警原则:
  - 宁可"多告警"也别"漏告警"(误报可调,漏报致命)
  - 告警要带"可执行的建议"(别只说"CPU 高",要说"该加 vCPU 了")

"告警是监控的'最后一公里'——数据看到了、分析完了,还要能'叫醒人'。 半夜 3 点数据库要挂了,系统得自己打电话给你,不能等你早上才发现。"


六、性能优化实战:双十一前夜

小陈按老周的方法,给云间书店做了一次"双十一性能体检":

体检结果(vCenter 数据):
  ① web-01:CPU 峰值 85%(健康线 70%)→ 可疑
     查:CPU Ready 高 → vCPU 在排队
     因:web 实例只 1 台,流量全压它身上
     解:模板克隆再开 2 台 web,前面加负载均衡(LB)
  ② db-01:磁盘延迟 40ms(健康线 < 20ms)→ 磁盘是瓶颈
     查:快照还留着 3 个旧的!(增量的罪魁祸首)
     解:删旧快照 → 延迟回到 12ms ✓
  ③ cache-01:内存使用 98% + 出现 Ballooning
     解:Redis 是内存大户,加内存到 4G(物理有余量)
  ④ 集群整体:CPU 峰值 60%,内存 70% → 容量健康
     但双十一流量预估 +200% → 决定临时加 1 台 ESXi

结果:双十一当天,全站 0 故障,订单峰值 3000 单/分钟
     ——数据说话,防患于未然。

"看到了吗?没有监控,你可能双十一那天才发现 web 扛不住——那已经是灾难了。有了监控+容量规划,灾难变成了'提前几天修好的小事'。"


七、章末:老周的第九层总结

第九层:性能监控与优化
├── 五大指标:CPU/内存/磁盘/网络/应用
├── 异常信号:CPU Ready / Balloon / 磁盘延迟 / 网络错误
├── 定位四步:受害者→瓶颈→根源→方案(先数据后动手)
├── 容量规划:看趋势、预测未来、提前扩容(别等爆了)
├── 告警:让系统自己"喊救命"(阈值+通知+建议)
└── 核心思想:从"感觉卡"到"数据说话",防患于未然

"小陈,你现在能让系统'跑得快'了。但还有一个问题——跑得快,不代表跑得安全。 你还记得第五章的 VLAN 吗?我们分了网段,但 ESXi 本身、vCenter 本身、谁能操作虚拟机——这些'入口'的安全,你管了吗?"

小陈一拍脑门:"对啊!谁都能登录 vCenter 的话,那不是想删谁删谁?"

"下一章——安全与权限。RBAC 权限、加密、加固,让你的虚拟化'既有速度,又有安全带'。"

✌ 语言