nfs client高性能参数设置

  • 时间:
  • 浏览:1
  • 来源:神彩大发快3_彩神大发快3官方

nfs client发送请求过程简化如下:

2、原困

(4)、调用send_request把编码后的数据包发送到对端。

(1)、每个nfs请求首先会分配另另另另一个空闲的slot,用来保存buffer和xid等你这一 环境上下文。

下面来分析下tcp_slot_table_entries你你这一 参数是如何影响nfs性能的

(3)、编码,包括slot的xid,nfs请求序列化成xdr。

默认编译的内核该参数最大值为256,可适当提高该参数的值来取得较好的性能,以root身份执行以下命令

上述分析做了简化处里,具体还可以 参考kernel代码实现。linux kernel中,nfs client的实现在fs/nfs/目录下,sunrpc的实现在net/sunrpc/目录下。

从上述分析和上图中还可以 看出slot的个数决定了一并处里nfs请求的个数。slot个数太久,nfs请求并发处还可以 力越强,但会 slot个数很小,而nfs请求又什么都有有,就会在client排队等待图片。而不幸的是linux什么都有有发行版本中,slot个数默认值都会 2,什么都有有基本上只能串行处里的能力,即使应用层有再多的并发也那末 用。

修改完成后,您时需重新挂载文件系统或重启机器。

nfs协议使用sunrpc通信,linux kernel中sunrpc的实现是单连接和长链接,只能在你这一 特殊情况下才会新建连接。为了提高并发性能,在单连接的基础上提供多个slot。

(2)、slot分配成功后,做你这一 初始化的工作,等待图片socket可写(send buffer是是否是满),

Linux nfs客户端对于一并发起的NFS请求数量进行了控制,若该参数配置较小会原困IO性能较差。还可以 如下命令配置该参数:

(6)、请求处里结速了后释放slot。

1、背景

(5)、收到对端的请求后,从header中解码出xid,根据xid找到对应的slot和上下文。