瞭解如何使用大型接收卸載 (LRO) 減少 CPU 額外負荷,以處理以高速率從網路到達的封包。
LRO 會將傳入網路封包重組到較大的緩衝區,並將產生的較大但數量較少的封包傳輸到主機或虛擬機器的網路堆疊。此時,CPU 將處理少於 LRO 停用時封包數量的封包,這樣可減少其網路使用量 (尤其是在連線具有高頻寬的情況下)。
若要從 LRO 效能改善獲益,請在包括 VMkernel 和客體作業系統在內的 ESXi 主機的資料路徑上啟用 LRO。依預設,LRO 在 VMkernel 和 VMXNET3 虛擬機器介面卡中處於啟用狀態。
如需資料路徑中 TCP 封包彙總之位置的相關資訊,請參閱 VMware 知識庫文章瞭解 VMware 環境中的 TCP 分割卸載 (TSO) 和大型接收卸載 (LRO)。
針對 ESXi 主機上的所有 VMXNET3 介面卡管理硬體 LRO
使用 LRO 技術啟用主機實體介面卡的硬體功能,為 VXMNET3 虛擬機器介面卡彙總傳入 TCP 封包,而不耗用在客體作業系統中進行組合所需的資源。
程序
- 在 vSphere Client中,導覽至主機。
- 在設定索引標籤上,展開系統。
- 按一下進階系統設定。
- 編輯 Net.Vmxnet3HwLRO 參數的值。
- 若要啟用硬體 LRO,請將 Net.Vmxnet3HwLRO 設定為 1。
- 若要停用硬體 LRO,請將 Net.Vmxnet3HwLRO 設定為 0。
- 按一下確定套用變更。
針對 ESXi 主機上的所有 VMXNET3 介面卡啟用軟體 LRO
如果主機實體介面卡不支援硬體 LRO,請在 VMXNET3 介面卡的 VMkernel 後端使用軟體 LRO,以提升虛擬機器的網路效能。
針對 IPv4 和 IPv6 封包,vSphere 支援軟體 LRO。
必要條件
程序
- 在 vSphere Client中,導覽至主機。
- 在設定索引標籤上,展開系統。
- 按一下進階系統設定。
- 針對 VMXNET3 介面卡,編輯 Net.Vmxnet3SwLRO 參數的值。
- 若要啟用軟體 LRO,請將 Net.Vmxnet3SwLRO 設定為 1。
- 若要停用軟體 LRO,請將 Net.Vmxnet3SwLRO 設定為 0。
- 按一下確定套用變更。
決定 ESXi 主機上是否針對 VMXNET3 介面卡啟用 LRO
當您估計執行延遲敏感型工作負載的主機的網路效能時,請檢查 ESXi 上 LRO 的狀態。
必要條件
程序
- 在 vSphere Client中,導覽至主機。
- 在設定索引標籤上,展開系統。
- 按一下進階系統設定。
- 檢查 VMXNET2 和 VMXNET3 的 LRO 參數的值。
- 若為硬體 LRO,請檢查 Net.Vmxnet3HwLRO 參數。如果等於 1,則會啟用硬體 LRO。
- 若為軟體 LRO,請檢查 Net.Vmxnet3SwLRO 參數。如果等於 1,則會啟用硬體 LRO。
變更 VMXNET 3 介面卡之 LRO 緩衝區的大小
您可以針對透過 VMXNET 3 網路介面卡之虛擬機器連線的封包匯總,變更緩衝區的大小。增加緩衝區的大小以減少 TCP 確認的數目並提高工作負載的效率。
程序
為 ESXi 主機上的所有 VMkernel 介面卡啟用或停用 LRO
在 ESXi 主機上的 VMkernel 網路介面卡中使用 LRO,可提高傳入基礎結構流量的網路效能。
程序
- 在 vSphere Client中,導覽至主機。
- 在設定索引標籤上,展開系統。
- 按一下進階系統設定。
- 編輯 Net.TcpipDefLROEnabled 參數的值。
- 若要為主機上的 VMkernel 網路介面卡啟用 LRO,請將 Net.TcpipDefLROEnabled 設為 1。
- 若要為主機上的 VMkernel 網路介面卡停用軟體 LRO,請將 Net.TcpipDefLROEnabled 設為 0。
- 按一下確定套用變更。
針對 VMkernel 介面卡變更 LRO 緩衝區大小
您可以變更用於 VMkernel 連線之封包彙總緩衝區的大小。增加緩衝區的大小以減少 TCP 確認的數目,並提高 VMkernel 中的效率。
程序
在 Linux 虛擬機器上管理 VMXNET3 介面卡上的 LRO
如果已為主機上的 VMXNET3 介面卡啟用 LRO,請針對 Linux 虛擬機器上的網路介面卡啟動 LRO 支援,以確保客體作業系統不會花費資源將傳入封包彙總到較大的緩衝區。
必要條件
確認 Linux 核心為 2.6.24 及更新版本。
程序
- ♦ 在 Linux 客體作業系統上的終端機視窗中,執行具有 -K 和 lro 選項的 ethtool 命令。
- 若要啟用 LRO,請執行以下命令:
ethtool -K ethY lro on
其中,ethY 中的 Y 是指虛擬機器中 NIC 的序號。
- 若要停用 LRO,請執行以下命令:
ethtool -K ethY lro off
其中,ethY 中的 Y 是指虛擬機器中 NIC 的序號。
- 若要啟用 LRO,請執行以下命令:
在 Windows 虛擬機器上管理 VMXNET3 介面卡上的 LRO
如果已為主機上的 VMXNET3 介面卡啟用 LRO,請針對 Windows 虛擬機器上的網路介面卡啟動 LRO 支援,以確保客體作業系統不會花費資源將傳入封包彙總到較大的緩衝區。
在 Windows 上,LRO 技術也稱為接收端聯合 (RSC)。
必要條件
- 確認虛擬機器執行 Windows Server 2012 及更新版本,或 Windows 8 及更新版本。
- 確認虛擬機器相容性為 ESXi 6.0 及更新版本。
- 確認客體作業系統上安裝的 VMXNET3 驅動程式版本為 1.6.6.0 及更新版本。
- 確認已在執行 Windows Server 2012 及更新版本或 Windows 8 及更新版本的虛擬機器上全域啟用 LRO。請參閱在 Windows 虛擬機器上全域管理 LRO。
程序
在 Windows 虛擬機器上全域管理 LRO
若要在執行 Windows 8 及更新版本或 Windows Server 2012 及更新版本之虛擬機器的 VMXNET3 介面卡上使用大型接收卸載 (LRO),您必須在客體作業系統上全域啟用 LRO。在 Windows 上,LRO 技術也稱為接收端聯合 (RSC)。
程序
下一步
針對 Windows 8 及更新版本或 Windows Server 2012 虛擬機器上的 VMXNET3 介面卡啟用 LRO。請參閱在 Windows 虛擬機器上管理 VMXNET3 介面卡上的 LRO。