Troubleshooting ESX/ESXi virtual machine performan

現象:

  • 在客戶機虛擬機中運行的服務響應緩慢。
  • 在客戶機虛擬機中運行的應用程序間歇性地做出響應。
  • 客戶機虛擬機可能看起來緩慢或無響應。

原因:
性能問題可能是由於以下多個不同方面導致的:CPU 限制、內存過量使用、存儲延遲或網絡延遲。如果您的一個或多個虛擬機具有錯誤的響應時間,請考慮其中每個區域以找到瓶頸。

解決方案:
注意:完成每個步驟後,確定是否仍然存在性能問題。請按順序執行每個故障排除步驟,不要跳過任何步驟。
包括四個主要部分:

  • CPU 限制
  • 內存過量使用
  • 存儲延遲
  • 網絡延遲

一, CPU 限制

1, 使用esxtop命令確定 ESXi/ESX Server 是否過載。檢查命令輸出第一行上的load average。

平均負載爲 1.00 表示 ESXi/ESX Server 計算機的物理 CPU 已充分利用,而平均負載爲 0.5 則表示利用率爲一半。平均負載爲 2.00 表示整個系統過載。

2, 檢查%READY字段,以瞭解虛擬機就緒但無法計劃爲在物理 CPU 上運行的時間百分比。

在正常操作條件下,此值應保持在 5% 以下。如果在性能較差的虛擬機上就緒時間值較高,則檢查 CPU 限制:
確保虛擬機不受對其本身設置的 CPU 限制的約束
確保虛擬機不受其資源池的約束。

參考:虛擬機內存和 CPU 資源限制的影響 (1033115)
https://kb.vmware.com/s/article/1033115?lang=zh_CN

如果平均負載太高,且就緒時間不是由 CPU 限制導致的,請調整主機上的 CPU 負載。要調整主機上的 CPU 負載,請執行以下操作之一:

增加主機上物理 CPU 的數目

減少分配給主機的虛擬 CPU 的數目
(鍵入 esxtop,然後按 Enter。在 CPU 屏幕中,檢查 %CSTP 值。如果該數字大於 3.00,則說明性能問題可能是 vCPU 數量導致的。嘗試將虛擬機的 vCPU 數量減 1。)

減少在主機上運行的虛擬機的數目。

二, 內存過量使用

1, 使用esxtop命令確定 ESXi/ESX Server 的內存是否被過量使用。檢查命令輸出第一行上的MEM overcommit avg。此值反映了請求的內存與可用內存之間的比率減 1。

示例:
如果虛擬機需要 4 GB 的 RAM,而主機具有 4 GB 的 RAM,則其比率爲 1:1。從 1/1 減 1 後,MEM overcommit avg字段顯示爲 0。不存在過量使用且不需要額外的 RAM。
如果虛擬機需要 6 GB 的 RAM,而主機具有 4 GB 的 RAM,則其比率爲 1.5:1。從 1/1.5 減 1 後,MEM overcommit avg字段顯示爲 0.5。RAM 被過量使用了 50%,這意味着與可用 RAM 相比還需要 50% 的 RAM。

如果內存被過量使用,請調整主機上的內存負載。要調整內存負載,請執行以下操作之一:

增加主機上的物理 RAM 量

減少分配給主機上所有虛擬機的 RAM 總量

減少主機上的虛擬機總數。

2, 確定虛擬機是否在膨脹和/或交換。

要檢測任何膨脹或交換,請執行以下操作:

a) 運行esxtop。
b) 鍵入m表示內存
c) 鍵入f表示字段
d) 爲內存膨脹統計信息 (MCTL) 選擇字母J
e) 查看MCTLSZ值。MCTLSZ (MB)顯示氣球驅動程序回收的客戶機物理內存量。
f) 鍵入f表示字段
g) 爲內存交換統計信息 (SWAP STATS) 選擇字母。
h) 查看SWCUR值。SWCUR (MB)顯示當前的交換使用量。

三, 存儲延遲

要確定性能低下是否是由於存儲延遲導致的,請執行以下操作:

  1. 確定問題是否與本地存儲有關。將虛擬機遷移至其他存儲位置。
  2. 減少每 LUN 的虛擬機數。
  3. 在 Windows 客戶機中查找類似於以下內容的日誌條目:
    The device, \Device\ScsiPort0, did not respond within the timeout period.
  4. 使用 esxtop 查找高 DAVG 延遲時間。
    使用 esxtop 查找高 DAVG 延遲時間。有關詳細信息,請參見 Using esxtop to identify storage performance issues (1008205)。

  5. 確定可使用 iometer 命令獲取的最大 I/O 吞吐量。有關詳細信息,請參見 Testing virtual machine storage I/O performance for VMware ESXi and ESX (1006821)。
  6. 將虛擬機的 iometer 結果與附加到同一存儲的物理機的相應結果進行比較。
  7. 檢查 SCSI 預留衝突。有關詳細信息,請參見 Analyzing SCSI Reservation conflicts on VMware Infrastructure 3.x and vSphere 4.x (1005009)。
  8. 如果您使用的是 iSCSI 存儲器和巨幀,請確保所有內容都配置正確。有關詳細信息,請參見:
    a) iSCSI and Jumbo Frames configuration on ESX/ESXi(1007654)
    b) Enabling IOAT and Jumbo frames (1003712)
    c) Enabling Jumbo Frames for VMkernel ports in a virtual distributed switch (1038827)
  9. 如果您將 iSCSI 存儲器和多路徑與 iSCSI 軟件啓動器結合使用,請確保所有內容都配置正確。有關詳細信息,請參見《iSCSI SAN 配置指南》中的以下各節:
    Networking Configuration for Software iSCSI and Dependent Hardware iSCSI
    Bind iSCSI Ports to iSCSI Adapters

如果您確定與存儲相關的問題:

確保您的硬件陣列和 HBA 卡已通過 ESX/ESXi 認證。有關詳細信息,請參見 VMware Hardware Compatibility List。
確保您的物理服務器的 BIOS 是最新的。有關詳細信息,請參見 Checking your firmware and BIOS levels to ensure compatibility with ESX/ESXi (1037257)。
確保您的 HBA 的固件是最新的。有關詳細信息,請參見 Slow performance caused by out of date firmware on a RAID controller or HBA (1006696)。
確保 ESX 可識別您的 SATP 存儲陣列類型和 PSP 路徑選擇的正確模式及路徑策略。有關詳細信息,請參見 Verifying correct storage settings on ESX 4.x, ESXi 4.x and ESXi 5.0 (1020100)。

四, 網絡延遲

網絡性能可能會受到 CPU 性能的高度影響。在檢查網絡延遲之前排除 CPU 性能問題。
要確定性能低下是否是由於網絡延遲導致的,請執行以下操作:

1, 使用 Iperf 工具測試來自虛擬機的最大帶寬。可以從 https://code.google.com/p/iperf/ 獲取該工具。

注意:VMware 不認可、不推薦任何特定第三方實用程序。

在使用 Iperf 時,將 TCP 窗口大小更改爲 64 K。性能也取決於此值。要更改 TCP 窗口大小,請執行以下操作:

在服務器端,輸入以下命令:
iperf -s

在客戶端,輸入以下命令:
iperf.exe -c sqlsed -P 1 -i 1 -p 5001 -w 64K -f m -t 10 900M

有關詳細信息,請參見 http://openmaniak.com/iperf.php

1, 使用 ESXi/ESX 主機以外的計算機運行 Iperf。根據您的物理環境,將其結果與預期結果進行比較。
2, 在同一物理交換機的同一 VLAN 上,使用 ESXi/ESX 主機以外的另一臺計算機運行 Iperf。如果性能較好,且僅可使用另一地理位置的計算機重現問題,則此問題與您的網絡環境有關。
3, 在同一 ESX Server/端口組/vswitch 上的兩臺虛擬機之間運行 Iperf。如果結果正常,則可以排除 CPU、內存或存儲問題。

如果您確定在網絡上存在瓶頸:

1, 完成 Troubleshooting network performance issues (1004087) 中的所有步驟。
2, 如果您使用的是 iSCSI 存儲器和巨幀,請確保所有內容都配置正確。有關詳細信息,請參見:
a) iSCSI and Jumbo Frames configuration on ESX/ESXi (1007654)
b) Enabling IOAT and Jumbo frames (1003712)
c) Enabling Jumbo Frames for VMkernel ports in a virtual distributed switch (1038827)
3, 如果您使用的是 Network I/O Control,請確保爲您的流量正確配置了份額和限制。有關詳細信息,請參見 Network I/O Resource Management in vSphere 4.1 with vDS (1022585)。
4, 確保正確配置了流量調整。有關詳細信息,請參見《ESXi/ESX 配置指南》中的 Traffic Shaping Policy。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章