Solaris 可调参数参考手册

rpcmod 模块参数

本节介绍 rpcmod 模块的 NFS 参数。

rpcmod:clnt_max_conns

说明

控制 NFS 客户机与每个 NFS 服务器进行通信时使用的 TCP 连接数。将构造内核 RPC,以便可以通过单个连接多路复用 RPC。但是,如有必要,可以使用多个连接。

数据类型

整数(32 位)

缺省值

1

范围

1 到 231 - 1

单位

连接

是否为动态

验证

何时更改

通常,一个连接足以实现完整的网络带宽。但是,如果 TCP 不能利用网络以单个流形式提供的带宽,则多个连接可能会增加客户机与服务器之间的吞吐量。

增加连接数会产生一些负面影响。增加连接数还会增加跟踪每个连接所需的内核资源使用量。

承诺级别

不稳定

rpcmod:clnt_idle_timeout

说明

控制允许客户机与服务器之间的连接在关闭之前在客户机上保持空闲的持续时间。

数据类型

长整数(在 32 位平台上为 32 位,在 64 位平台上为 64 位)

缺省值

300,000 毫秒(5 分钟)

范围

在 32 位平台上,为 0 到 231 - 1

在 64 位平台上,为 0 到 263 - 1

单位

毫秒

是否为动态

验证

何时更改

使用此参数更改允许空闲连接在关闭之前在客户机上存在的时间。可能需要以更快的速度关闭连接以免占用系统资源。

承诺级别

不稳定

rpcmod:svc_idle_timeout

说明

控制允许客户机与服务器之间的连接在关闭之前在服务器上保持空闲的持续时间。

数据类型

长整数(在 32 位平台上为 32 位,在 64 位平台上为 64 位)

缺省值

360,000 毫秒(6 分钟)

范围

在 32 位平台上,为 0 到 231 - 1

在 64 位平台上,为 0 到 263 - 1

单位

毫秒

是否为动态

验证

何时更改

使用此参数更改允许空闲连接在关闭之前在服务器上存在的时间。可能需要以更快的速度关闭连接以免占用系统资源。

承诺级别

不稳定

rpcmod:svc_default_stksize

说明

为内核 RPC 服务线程设置内核栈的大小。

数据类型

整数(32 位)

缺省值

缺省值为 0。此值意味着将栈大小设置为系统缺省值。

范围

0 到 231 - 1

单位

字节

是否为动态

是,对于所有分配的新线程均为动态。栈大小是在创建线程时设置的。因此,对此参数所做的更改不会影响现有线程,但会应用于所有分配的新线程。

验证

何时更改

调用深度过深会导致栈溢出以及红色区域故障。相当深的传输调用深度,再加上深的本地文件系统调用,可能会导致 NFS 服务线程的栈溢出。

将此参数设置为平台上的硬件 pagesize 的倍数。

承诺级别

不稳定

rpcmod:svc_default_max_same_xprt

说明

控制在切换传输端点之前每个传输端点处理的最大请求数。内核 RPC 通过一个服务线程池和一个传输端点池进行工作。任一服务线程都可以处理来自任一传输端点的请求。出于性能考虑,在切换到其他传输端点之前,会处理每个传输端点上的多个请求。此方法可避免某些传输端点得到到处理,同是又可以改善性能。

数据类型

整数(32 位)

缺省值

8

范围

0 到 231 - 1

单位

请求

是否为动态

是,但是在切换传输端点之前要处理的最大请求数是在将传输端点配置到内核 RPC 子系统时设置的。对此参数所做的更改只影响新的传输端点,而不会影响现有传输端点。

验证

何时更改

调优此参数,以便服务可以利用客户机行为,例如加速 NFS 版本 2 WRITE 请求的群集。增大此参数可能会使服务器更好地利用客户机行为。

承诺级别

不稳定

rpcmod:maxdupreqs

说明

控制用于检测无连接传输中 RPC 级别重新传输的重复请求高速缓存的大小。按照客户机网络地址、RPC 过程编号、程序编号、版本号以及事务 ID 建立此高速缓存的索引。此高速缓存可避免处理可能非等幂的已重新传输的请求。

数据类型

整数(32 位)

缺省值

1024

范围

1 到 231 - 1

单位

请求

是否为动态

该高速缓存的大小是动态设置的,但是用于提供对该高速缓存的快速访问的散列队列的大小则是静态设置的。将此高速缓存设置过大可能会导致在高速缓存中查找项的搜索时间过长。

请勿将此参数的值设置为 0。此值会防止 NFS 服务器处理非等幂请求。

验证

何时更改

如果 NFS 客户机遇到伪故障,请检查此参数的值。例如,如果创建目录的尝试失败,但是实际上已经创建了该目录,则可能是服务器未检测到已重新传输的 MKDIR 请求。

高速缓存的大小应该与服务器上的负载相匹配。高速缓存记录非等幂请求,因此,只需跟踪部分请求。高速缓存需要将信息保存足够长的时间以便客户机可以检测到重新传输。通常,无连接传输的客户机超时相对较短,大约在 1 秒到 20 秒之间。

承诺级别

不稳定

rpcmod:cotsmaxdupreqs

说明

控制用于检测面向连接的传输中 RPC 级别重新传输的重复请求高速缓存的大小。按照客户机网络地址、RPC 过程编号、程序编号、版本号以及事务 ID 建立此高速缓存的索引。此高速缓存可避免处理可能非等幂的已重新传输的请求。

数据类型

整数(32 位)

缺省值

1024

范围

1 到 231 - 1

单位

请求

是否为动态

验证

该高速缓存的大小是动态设置的,但是用于提供对该高速缓存的快速访问的散列队列的大小是静态设置的。将此高速缓存设置过大可能会导致在高速缓存中查找项的搜索时间过长。

请勿将此参数的值设置为 0。此值会防止 NFS 服务器处理非等幂请求。

何时更改

如果 NFS 客户机遇到伪故障,请检查此参数的值。例如,如果创建目录的尝试失败,但是实际上已经创建了该目录,则可能是服务器未检测到已重新传输的 MKDIR 请求。

高速缓存的大小应该与服务器上的负载相匹配。高速缓存记录非等幂请求,因此,只需跟踪部分请求。它需要将信息保存足够长的时间以便客户机可以检测到重新传输。通常,面向连接的传输的客户机超时很长,大约为 1 分钟。因此,项需要在高速缓存中保留很长一段时间。

承诺级别

不稳定