如何在 CentOS/RHEL 中使用“nfsiostat”解决 NFS 传输延迟问题

除了 NFS 挂载点之外,nfsiostat 命令的工作方式与 iostat 命令类似。
nfsiostat 从 /proc/self/mountstats 获取输入,并提供有关系统中挂载的 NFS 共享的输入/输出性能的信息。
nfsiostat 命令由 nfs-utils 包提供。

下面是 nfsiostat 命令的示例输出。

了解 nfsiostat 命令输出的不同字段

以下是我们可以查看以调查 NFS 拥塞问题的几个字段。

  • op/s 值是每秒发送的所有类型的操作 (RPC) 总数。这不仅包括读取和写入等 I/O RPC,还包括所有 NFS RPC,例如打开、查找、访问、getattr 等。
  • NFS 没有块大小,因为它的 I/O 不像标准磁盘文件系统那样基于扇区或者块。所有 I/O 信息都以千字节为单位显示。例如kB/op 显示给定类型的每个 RPC 命令的平均大小(以千字节为单位)。大小挂载选项可以影响某些 I/O 操作的大小,但不能用作 I/O 事务必须是其倍数的“块大小”。
  • RTT:这是内核RPC客户端发送RPC请求到收到回复的时间。 RTT 包括网络传输时间和服务器执行时间。
  • exe :这是从NFS客户端向内核RPC客户端分派RPC请求到RPC请求完成的时间。 “exe”包括 RTT 和 RPC 客户端排队和处理时间。如果请求必须在积压队列中等待,则平均执行时间“exe”会增加。
查看更多教程 https://on  itroad.com

使用 avg RTT(往返时间)字段来确定 NFS 延迟

以毫秒为单位的平均往返时间 (avg RTT) 是 NFS 延迟的一个很好的度量。
在下面的示例中,avg RTT(往返时间)列是连接的平均延迟(以毫秒为单位)。

# nfsiostat 5 10 /data

从上面的命令输出来看,平均往返时间是###。
avg RTT 值越高,延迟越高。
我们可以确认此字段值的延迟非常高。

日期:2020-09-17 00:13:56 来源:oir作者:oir