使用 10GbE vmnic 时 NFS 读取 I/O 性能可能较差
search cancel

使用 10GbE vmnic 时 NFS 读取 I/O 性能可能较差

book

Article ID: 334842

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
免责声明: 本文为 Potentially poor NFS Read I/O performance with 10GbE vmnics (2120163) 的翻译版本。 尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。 有关最新内容,请参见英文版本。


在 vSphere 6.0 中,对于 NFS 数据存储的较大 I/O 大小(64 KB 及更大),NFS 读取 I/O 性能(单位为 IO/s)可能会出现显著变化。 使用某些 10 千兆以太网 (GbE) 控制器时会出现此问题。 该知识库文章中报告的性能变化特定于 ESXi 的 NFS 客户端,与虚拟机中的 NFS 客户端无关。
症状:
  • 读取工作负载的性能 (IOPS) 不尽相同。
  • 物理网卡显示的数据包错误计数越来越多:
    ethtool -S vmnicX | grep rx_errors


Environment

VMware vSphere ESXi 6.0

Resolution

权宜措施:
将 vmnic 接收环大小(rx 参数)增至最大值。
  1. 打开 ESXi shell。 有关说明,请参见知识库文章 2075199

  2. 列出 vmnic:
    esxcli network nic list
    示例输出:
    Name     PCI Device    Driver Admin Status  Link Status  Speed Duplex  MAC Address          MTU    Description
    ---- ---------- ------ ------------ ----------- ----- ------ ----------- --- ---------------
    ... vmnic6 0000:24:00.0 ixgbe Up Up 10000 Full xx:xx:xx:xx:xx:xx 1500 Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection ...
  3. 查看为接收环参数信息指定的 vmnic(以粗体显示):

    ethtool -g vmnicX

    示例:

    ethtool -g vmnic6

    示例输出:

    Ring parameters for vmnic6:
    Pre-set maximums:
    RX: 4096
    RX Mini: 0
    RX Jumbo: 0
    TX: 4096
    Current hardware settings:
    RX: 456
    RX Mini: 0
    RX Jumbo: 0

  4. 以 Intel 82599 网卡为例,以下步骤将 rx 环参数从 456(默认值)更改为 4096(最大值):

    ethtool -G vmnicX rx 4096

    例如:

    ethtool -G vmnic6 rx 4096


Additional Information

Potentially poor NFS Read I/O performance with 10GbE vmnics