VMware 虚拟机性能问题的全面概述

改善VM性能的原因改善VM性能

讓我們看看進行診斷並改善VM性能的主要原因:

  • 虛擬機器的性能比另一台主機上相同的虛擬機器性能慢。
  • 應用程式運行速度比應有的慢。但當您將虛擬機器遷移到另一台主機時,應用程式的性能是正常的。
  • 啟動應用程式需要很長的時間。
  • 正在運行的應用程式無響應。
  • CPU、內存或磁盤使用率為100%。

CPU和內存

硬件資源不足是導致VM性能慢的最常見原因之一。如果您沒有為VM提供足夠的CPU資源,VM內部的軟件可能會運行緩慢。要解決此問題,請將VM設置為使用更多CPU核心或添加更多虛擬處理器。此外,如果您的主機機器配備了一個核心數較低、緩存較少且頻率較低的舊處理器,請考慮升級主機硬件。

設置虛擬機器的RAM量時,請確保此RAM量足夠支持虛擬機器的運行。同時,主機也必須有足夠的RAM。如果您未為虛擬機器提供足夠的內存,則客戶操作系統會大量使用交換文件,從而導致整體虛擬機器性能下降。如果您為虛擬機器提供了大量內存,卻未留足夠內存給主機操作系統,則主機操作系統會使用交換文件,進而降低操作系統和應用程序的性能。此外,在這種情況下,虛擬機器的性能也會下降。不要為虛擬機器分配過多內存,同時也要為主機留下一些內存。始終為主機提供足夠的內存。

如果您在虛擬機器上運行重型應用程序,請相應調整 VM 配置並添加更多 CPU 和內存資源。內存過度配置是指總資源分配超過容量的情況。如果您的主機具有 8 GB 的 RAM,並運行五個配置為每個使用 2 GB RAM 的 VM,則所有 VM 和主機機器都可能顯示性能不佳,因為內存被過度配置(如果所有 VM 都在密集使用內存)。如果某些 VM 正在運行,但它們的負載輕,則主要由負載重的 VM 使用內存,因為 ESXi 可提高內存利用率。在測試環境中,內存過度配置是有意義的。同時,檢查內存氣球和此功能的配置,以從 VM 中回收未使用的內存,以有效利用物理內存。有時,當 VM 需要使用磁盤進行交換時,此功能可能會影響 VM 的性能。

CPU 過度配置。VMware 提供了合理使用資源的技術,允許您為 VM 提供比主機上的物理 CPU 核心數更多的虛擬處理器。CPU 過度配置參數是分配給 VM 的虛擬處理器數量與主機上的物理 CPU 核心數之比。如果值為 3:1 – 就不必擔心。如果值為 5:1,VM 的性能會下降。如果 CPU 過度配置值為 6:1 或更高,VM 的性能會變慢,這可能會引發許多問題。如何解決 CPU 和內存問題?

內存超配是指總資源分配超過容量的情況。如果您有一台擁有8GB RAM的主機,並運行配置為每個使用2GB RAM的五個虛擬機(VM),則由於內存超配(如果所有VM都在密集使用內存),所有VM和主機機器的性能可能都較低。如果某些VM正在運行,但它們負載較輕,則內存主要由負載重的VM使用,因為ESXi改善了內存利用率。內存超配在測試環境中是有意義的。

另外,請檢查內存充氣和該功能的配置,以回收VM未使用的內存,以實現物理內存的有效利用。有時,當VM需要使用磁盤進行交換時,這個功能可能會影響VM的性能。

CPU超配。VMware提供了合理使用資源的技術,允許您為VM分配更多虛擬處理器,超過主機上的物理CPU核心數量。CPU超配參數是分配給VM的虛擬處理器數量與主機上的物理CPU核心數量的比值。如果該值為3:1,則無需擔心。如果該值為5:1,VM性能下降。如果CPU超配值為6:1或更高,VM性能較慢,這可能會引發許多問題。

如何解決CPU和內存問題?

考慮升級硬件並在運行虛擬機器的實體機器上添加更多RAM。盡量擁有足夠的內存以防止主機和客戶操作系統使用交換文件。避免內存超額配置。

有時,CPU電源管理功能可能會導致虛擬機器性能下降。嘗試禁用它們。

檢查主機上的空閒CPU和內存資源。

在ESXi上,在命令行運行此命令以檢查您的伺服器是否超載:

esxtop

檢查負載平均值參數。

1.0表示CPU被充分利用

0.5表示CPU被一半利用(50%)

2.0表示CPU被超載兩倍,您必須採取措施

按以下鍵更改視圖:c – CPU指標(默認顯示),m – 內存,n – 網絡,d – 硬盤。按空格鍵更新顯示的值(值每5秒自動更新一次)。按h以獲取幫助,按q以退出。

如果您使用 VMware Workstation,可以根據上述建議將虛擬機器存儲在外部 SATA(eSata)或 USB 3.0 磁盤上。在關閉虛擬機器之前,不要拔除外部磁盤。在生產環境中,使用非增長式或預分配厚磁盤。對於首次寫入操作,急切置零厚配置磁盤速度更快。如果您使用 HDD 來存儲虛擬機器,請對該物理磁盤驅動器或數組進行碎片整理,並在虛擬機器設置中對虛擬磁盤進行碎片整理。使用分區減少磁盤碎片化。在一個分區上安裝操作系統,在另一個分區上存儲應用程序使用的文件(例如,數據庫)。

檢查 HBA(主機匯流排適配器)的固件是否最新。在服務器上更新 HBA 的固件。

檢查磁盤健康狀況。對磁盤和文件系統進行診斷。如果磁盤損壞,立即更換磁盤。

檢查接口(SAS、SATA)線。

磁盤加密會由於開銷而降低性能。如果加密對虛擬機器不是關鍵,將 VM 文件移至非加密存儲,或者關閉磁盤加密。使用提供更高性能和可靠性的獨立(硬件)RAID 控制器。

確保虛擬機器內部磁盤有空間。磁盤空間不足會導致性能下降,因為操作系統和應用程序無法寫入臨時文件。

儲存系統的低性能導致存儲虛擬磁盤的虛擬機器性能不佳。存儲延遲對虛擬機器性能至關重要。嘗試使用固態硬盤(SSD)來存儲虛擬機器。如果無法使用SSD硬盤,則使用轉速為7200轉/分或10000轉/分的硬盤驅動器(HDD)。轉速為5400轉/分的硬盤驅動器性能較低。建議使用具有SAS接口的硬盤。

如果使用VMware Workstation,可以根據上述建議將虛擬機器存儲在外部SATA(eSata)或USB 3.0硬盤上。在虛擬機器電源關閉之前,不要斷開外部硬盤。

在生產環境中,使用非增長或預分配的厚磁盤。對於首次寫入操作,急切為零的厚配置磁盤速度更快。

如果使用HDD來存儲虛擬機器,請對物理磁盤驅動器或陣列進行碎片整理,並在虛擬機器設置中對虛擬磁盤進行碎片整理。使用分區以減少磁盤碎片。在一個分區上安裝操作系統,在另一個分區上存儲應用程序使用的文件(例如,數據庫)。

檢查HBA(主機總線適配器)的固件是否是最新的。在服務器上更新HBA的固件。

檢查磁盤健康狀況。對磁盤和文件系統進行診斷。如果磁盤損壞,立即更換磁盤。

檢查接口(SAS、SATA)連線。

磁盘加密会因为开销而降低性能。如果虚拟机对加密没有重要需求,可以将虚拟机文件移至非加密存储,或者关闭磁盘加密。

使用提供更高性能和可靠性的独立(硬件)RAID 控制器。

确保虚拟机内的磁盘有足够的空间。磁盘空间不足会导致性能下降,因为操作系统和应用程序无法写入临时文件。

可以将虚拟机迁移到没有超载的另一个磁盘或磁盘阵列。在 VMware vSphere 中,考虑使用 DRS 和存储 DRS。减少在同一 LUN 或数据存储上运行的虚拟机数量。

快照

虛擬磁碟快照會降低虛擬磁碟的效能。每個快照都會產生一個額外的虛擬磁碟的增量 VMDK 檔案。採用寫入時複製的機制。每個增量 VMDK 包含與父代 VMDK 檔案的數據差異(變更日誌),VM 在與 VM 磁碟互動時會讀取所有這些數據。因此,數據從相同物理磁碟上的多個虛擬磁碟檔案讀取,進而降低了 VM 的效能。出於同樣的原因,在 VMware Workstation 中不要使用分割 VMDK 檔案(此選項是為不支持大於 4GB 檔案的舊檔案系統而創建的)。隨著快照數量的增加,磁碟負荷將增加。快照通常用於臨時目的(例如,在備份作業期間複製數據或在 VM 內部安裝或測試應用程序時)。盡快刪除或合併快照。

在 VMware Workstation 中,應關閉 VM,關閉 VMware Workstation,運行一條命令,其中您定義現有主 VMDK 檔案的路徑和新虛擬磁碟檔案的路徑:

“C:\Program Files (x86)\username\VMware Workstation\vmware-vdiskmanager.exe” -r

“D:\VMs\VM-folder\vm-name.vmdk” -t 0 “D:\VMs\VM-folder\NewDisk.vmdk”

然後重新配置 VM 以使用新的虛擬磁碟或創建一個新的 VM,並設置以使用新合併的虛擬磁碟。

在 ESXi 上,運行此命令以刪除快照:

vmware-cmd path_to_vmx_file removesnapshots

vim-cmd vmsvc/snapshot.removeall VMID

您可以使用以下命令查看VMID:

vim-cmd vmsvc/getallvms

如果使用了拆分的VMDK文件,请在安装了VMware Workstation的Windows机器上执行以下命令合并它们:

“C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe” -r splitdisk.vmdk -t 0 mergeddisk.vmdk

将性能敏感数据存储在更快的磁盘上。

VMware工具

确保在客户操作系统上安装了VMware工具。 VMware工具 是一组用于提高虚拟机性能和用户体验的驱动程序和实用程序。安装VMware工具后,图形性能会提高。鼠标同步,无延迟。使用VMware工具,您可以在全屏模式下以更高性能使用虚拟机。检查是否安装了VMware工具。

在Windows中,单击位于时钟附近的Tray中的VMware Tools图标,或转到C:\Program Files\VMware\VMware Tools\(这是默认目录)并运行以下命令:

VMwareToolboxCmd.exe -v

在Linux中,在控制台中运行以下命令:

vmware-toolbox-cmd -v

通过读取ESXi命令行中的VM日志检查VM客户机上VMware工具的版本:

grep toolbox /vmfs/volumes/datastore/vm_name/vmware.log

grep build- /vmfs/volumes/datastore/vm_name/vmware.log

在 VMware vSphere Client 中,检查运行在虚拟机上的客户操作系统是否安装了 VMware Tools。有关 VMware Tools 的信息显示在虚拟机的摘要选项卡中(状态和版本)。

网络问题

如果您的 ESXi 主机连接到诸如 SAN(存储区域网络)或 NAS(网络附加存储)等存储设备,请确保网络速度足够且网络不会过载。

您应该在 vSphere 中为了高性能而使用单独的 ESXi 管理网络vMotion 网络和存储网络。

在使用虚拟交换机的 ESXi 主机上配置网卡汇集(链路聚合)。

如果现有网络带宽不足以满足要求,请考虑进行网络升级。例如,使用 5G 位或 10G 位网络适配器、交换机和路由器,而不是现有的 1G 位设备。

防病毒软件

確保主機上的防病毒軟件不會掃描虛擬磁盤文件,因為掃描這些文件可能會降低虛擬機器的性能。您可以將VM目錄中的VMDK文件排除在防病毒掃描之外。

檢查運行在主機操作系統和客戶操作系統上的操作系統的健康狀況。確保沒有病毒或其他惡意軟件或勒索軟件

考慮使用與VMware vShield在ESXi主機上配合使用的特殊防病毒解決方案,而不是在每個虛擬機器的客戶操作系統上安裝防病毒軟件。這種方法可以讓您獲得更好的性能,對於大型虛擬環境來說是合理的。如果使用vShield,請正確配置此軟件,因為配置不正確可能會降低虛擬機器的性能。

Hyper-V相關問題

如果您使用支持在 Windows 主機上安裝 Hyper-V 功能運行 VMware VM 的 VMware Workstation 15.5 或更新版本,則 VMware 虛擬機器的性能可能會變慢。當安裝 Hyper-V 角色時,Hyper-V 直接使用 CPU 虛擬化功能,如 Intel VT-x 或 AMD-V,而這些功能對於必須在特權模式下運行的 VMware Workstation with Virtual Machine Monitor (VMM) 是不可用的。由於相容性原因,VMware Workstation 的 VMM 以用戶模式或 ULM 模式運行(而非特權模式),因為當這些功能被 Hyper-V 使用時,VMM 無法訪問 CPU 的硬件虛擬化功能。在這種情況下,VMM 使用 Microsoft 的 WHP APIs 作為 VMM 和 CPU 之間的額外層,降低了 VMware VM 的性能。

請從主機 Windows 機器上卸載 Hyper-V 和相關功能,例如基於虛擬化的安全功能。之後,VMware Workstation 的 VMM 將在特權模式下運行,並直接與 CPU 虛擬化功能配合,實現高性能。這個解決方案將有助於解決 VMware 虛擬機器性能慢的問題。

虛擬機性能監控

VM性能監控是一种广泛使用的方法,用于检测超载和相关性能问题。VM性能监控有助于排除故障根本原因。请记住,在主机级别监控VM性能,而不是在虚拟机内部。客户操作系统不会意识到虚拟化特性,比如动态资源分配,并可能显示不正确的数据。VMware在主机级别提供计数器。这些计数器提供正确的信息,并用于VM性能监控。了解有关如何在VM内部收集性能信息,VMware开发了特定于虚拟机的计数器库,通过在Windows客户端中使用Perfmon实用程序,允许您查看有关VM性能的正确信息。必须在客户操作系统上安装VMware Tools以进行VM性能监控。

要在VMware vSphere Client中检查已使用的硬件资源,请选择一个虚拟机,打开监视器选项卡,然后选择性能 > 概述 或 性能 > 高级以查看图表和其他信息。在概述页面上,您可以实时查看CPU、内存、网络和存储的利用情况(空闲空间、已使用空间和输入/输出性能),以及前一天、一周、一个月、一年或自定义间隔的情况。在此页面上的两个下拉菜单中选择这些选项(周期查看)。

单击利用率选项卡以查看有关虚拟机CPU利用率、虚拟机内存和客户内存利用率的其他信息。

同樣地,您可以在 vSphere Client 中選擇 ESXi 主機或叢集,並即時監控使用和可用資源,以及所選期間的資源使用情況。

結論

本博客文章解釋了在談論 VM 性能問題時需要注意的主要要點,以及有助於改善虛擬機器性能的建議。您應該擁有提供足夠性能的硬體,避免記憶體過度配置,並適當配置軟體。使用 VM 性能監控來檢測為何 VM 性能緩慢。

磁碟損壞是導致 VM 性能緩慢的最危險問題,因為除了虛擬機器性能不佳外,您還可能丟失數據。為避免數據丟失,定期執行 VMware 數據備份。使用 NAKIVO Backup & Replication 進行 VMware 備份 – 這是一個支持 VMware vSphere 7.0 的通用數據保護解決方案,提供許多有用功能以提高備份速度和可靠性。

Source:
https://www.nakivo.com/blog/a-full-overview-of-vmware-virtual-machine-performance-problems/