问题描述
在 ESX/ESXi 主机上运行的虚拟机可能会遇到以下性能问题:
-
- 客户机虚拟机中的服务响应缓慢
- 客户机虚拟机中的应用程序响应间歇性
- 客户机虚拟机可能看起来很慢或无响应
这些问题可能由多种因素引起,包括 CPU 约束、内存过度提交、存储延迟或网络延迟。
故障排除方法
整体方法
本文按照以下顺序提供故障排除步骤,以最大程度地减少数据丢失并快速定位问题:
1. CPU 约束
2. 内存过度提交
3. 存储延迟
4. 网络延迟
CPU 约束
#### 识别方法
1. 使用 esxtop 命令确定 ESXi/ESX 服务器是否过载:
# 打开 esxtop
esxtop
# 查看 CPU 负载平均
# 第一行的 load average 字段表示系统的 CPU 利用率
#### 关键指标
-
- 负载平均 (Load Average):
- 1.00 表示物理 CPU 完全利用率
- 0.50 表示物理 CPU 一半利用率
- 2.00 表示系统整体过载
- %READY 时间: 虚拟机已准备好但无法安排在物理 CPU 上运行的时间百分比。正常运行条件下,该值应保持在 5% 以下。
#### 解决方案
1. 如果发现 CPU 约束,可以考虑:
-
- 增加物理 CPU 数量
- 减少分配给虚拟机的虚拟 CPU 总数
- 减少主机上运行的虚拟机数量
- 检查虚拟机是否受限于 CPU 限制
内存过度提交
#### 识别方法
1. 使用 esxtop 命令查看内存使用情况:
# 在 esxtop 中查看内存信息
# 输入 m 键切换到内存视图
#### 关键指标
-
- 内存过度提交平均 (MEM overcommit avg): 请求内存与可用内存的比率 -1。如果该值大于 0,表示内存过度提交。
- MCTLSZ (MB): 气球驱动程序回收的客户机物理内存量
- SWCUR (MB): 当前交换使用量
#### 解决方案
1. 如果发现内存过度提交,可以考虑:
-
- 增加物理 RAM 数量
- 减少分配给虚拟机的 RAM 总量
- 减少主机上的虚拟机数量
- 检查是否设置了错误的内存限制
存储延迟
#### 识别方法
1. 使用 esxtop 命令查看存储性能:
# 在 esxtop 中查看存储信息
# 输入 d 键切换到存储视图
#### 关键指标
-
- DAVG 延迟: 设备平均响应时间(ms)。高值表示存储延迟较高。
#### 解决方案
1. 如果发现存储延迟问题,可以考虑:
-
- 迁移虚拟机到其他存储位置
- 减少每个 LUN 的虚拟机数量
- 使用 iometer 命令测试 I/O 性能
- 检查 SCSI 预留冲突
- 如果使用 iSCSI 存储,确保正确配置了巨型帧和多路径
网络延迟
#### 识别方法
1. 使用 iperf 工具测试网络带宽:
# 服务器端
iperf -s
# 客户端
iperf -c -w 64K -t 10
#### 关键指标
-
- TCP 窗口大小: 64K 是推荐值
- 带宽测试: 与物理机连接到同一网络的测试结果进行比较
#### 解决方案
1. 如果发现网络瓶颈问题,可以考虑:
-
- 优化网络配置
- 检查网络 I/O 控制设置
- 确保网络流量整形配置正确
- 如果使用 iSCSI 存储,确保正确配置了巨型帧
验证与测试
使用 VMware Skyline Health Diagnostics
VMware Skyline Health Diagnostics for vSphere 可以帮助自动化故障排除过程。
其他建议
- 实时或批量模式使用
esxtop收集性能数据 - 检查虚拟机中的应用程序级别问题
- 检查是否正在运行备份作业
- 检查是否正在运行安全扫描
- 检查虚拟机是否长期运行快照
预防措施
1. 定期性能监控: 使用 esxtop 或其他监控工具定期监控性能指标
2. 资源规划: 确保资源分配与实际使用情况匹配
3. 定期更新: 保持 ESXi/ESX 主机和虚拟机操作系统更新
4. 存储优化: 合理分配存储资源,避免过度使用单个 LUN
5. 网络优化: 确保网络配置最佳,包括巨型帧和多路径
相关资源
1. [VMware KB 304594](https://knowledge.broadcom.com/external/article?articleNumber=304594)
2. [vSphere 性能最佳实践指南](https://core.vmware.com/resource/performance-best-practices-vsphere-8)
3. [使用 esxtop 识别 ESXi 存储性能问题](https://kb.vmware.com/s/article/2001003)
4. [测试虚拟机存储 I/O 性能](https://kb.vmware.com/s/article/1006827)
5. [网络性能不佳的解决方案](https://kb.vmware.com/s/article/1004085)
通过按照本文中的步骤进行操作,您可以定位并解决 ESX/ESXi 虚拟机性能问题。
Reference: VMware KB 304594





