Solaris 可调参数参考手册

第 5 章 网络高速缓存和加速器可调参数

本章介绍一些网络高速缓存和加速器 (Network Cache and Accelerator, NCA) 可调参数。

有关可调参数的参考信息

可调参数 

参考 

Solaris 内核可调参数 

第 2 章,Solaris 内核可调参数

NFS 可调参数 

第 3 章,NFS 可调参数

Internet 协议套件可调参数 

第 4 章,Internet 协议套件可调参数

调优 NCA 参数

适合在作为专用 Web 服务器的系统上设置这些参数。这些参数将为高速缓存页面分配更多内存。可以在 /etc/system 文件中设置本章中介绍的所有调优参数。

有关向 /etc/system 文件中添加可调参数的信息,请参见调优 Solaris 内核

nca:nca_conn_hash_size

说明

针对所有 TCP 连接控制 NCA 模块中的散列表大小,将其调整为最近的素数。

缺省值

383 个散列表项

范围

0 到 201,326,557

是否为动态

何时更改

NCA 的 TCP 散列表太小,无法跟踪传入 TCP 连接时。这种情况会导致将许多 TCP 连接组合到同一散列表项中。当 NCA 接收许多 TCP 连接时会指示此情况,并且系统性能会降低。

承诺级别

不稳定

nca:nca_conn_req_max_q

说明

定义 NCA 可侦听的最大暂挂 TCP 连接数。

缺省值

256 个连接

范围

0 到 4,294,967,295

是否为动态

何时更改

NCA 在建立连接后立即将其关闭,因为它已经具有太多已建立的 TCP 连接。如果 NCA 接收许多 TCP 连接并且可以处理较大负载,但是拒绝更多连接,则增大此参数。这样,NCA 便可处理更多的同步 TCP 连接。

承诺级别

不稳定

nca:nca_conn_req_max_q0

说明

针对 NCA 侦听定义最大未完成(尚未完成三次握手)暂挂 TCP 连接数。

缺省值

1024 个连接

范围

0 到 4,294,967,295

是否为动态

何时更改

NCA 拒绝接受任何更多的 TCP 连接,因为它已经具有太多的暂挂 TCP 连接。如果 NCA 接收许多 TCP 连接并且可以处理较大负载,但是拒绝更多连接,则增大此参数。这样,NCA 便可处理更多的同步 TCP 连接。

承诺级别

不稳定

nca:nca_ppmax

说明

指定 NCA 用于高速缓存页面的最大物理内存量(以页为单位)。此值不应超过总内存的 75%。

缺省值

物理内存的 25%

范围

物理内存的 1% 到最大物理内存量

是否为动态

何时更改

在内存大于 512 MB 的系统上使用 NCA 时。如果系统具有大量未使用的物理内存,则增大此参数。然后,NCA 将有效地使用此内存来高速缓存新对象。这样,系统性能将得到改善。

应将此参数与 nca_vpmax 一起增大,除非系统的物理内存大于虚拟内存(内存超过 4 GB的 32 位内核)。使用 pagesize(1) 确定系统的页面大小。

承诺级别

不稳定

nca:nca_vpmax

说明

指定 NCA 用于高速缓存页面的最大虚拟内存量(以页为单位)。此值不应超过总内存的 75%。

缺省值

虚拟内存的 25%

范围

虚拟内存的 1% 到最大虚拟内存量

是否为动态

何时更改

在内存大于 512 MB 的系统上使用 NCA 时。如果系统具有大量未使用的虚拟内存,则增大此参数。然后,NCA 将有效地使用此内存来高速缓存新对象。这样,系统性能将得到改善。

应将此参数与 nca_ppmax 一起增大。将此参数设置为几乎与 nca_vpmax 值相同,除非系统的物理内存大于虚拟内存。

承诺级别

不稳定

NCA 的常规系统调优

除了设置 NCA 参数之外,还可以执行某些常规系统调优以改善 NCA 性能。如果使用千兆位以太网(ge 驱动程序),则应该在中断模式下设置接口以获得更好结果。

例如,对于在 64 位内核下引导的具有 4 GB 内存的系统,应该在 /etc/system 文件中设置以下参数。使用 pagesize 确定系统的页面大小。


set sq_max_size=0

set ge:ge_intr_mode=1

set nca:nca_conn_hash_size=82500

set nca:nca_conn_req_max_q=100000

set nca:nca_conn_req_max_q0=100000

set nca:nca_ppmax=393216

set nca:nca_vpmax=393216

sq_max_size

说明

在目标 STREAMS 队列生成 QFULL 消息之前,设置 syncq 的深度(消息数)。

缺省值

10000 条消息

范围

0(没有限制)到 MAXINT

是否为动态

何时更改

当 NCA 在高内存的系统上运行时,请增大此参数以允许驱动程序对更多的数据包进行排队。如果服务器为重负载,则增大此参数,以便模块和驱动程序可以处理更多数据,而无需丢弃包或囤积包。

Solaris 8 以及更高发行版-请不要在生产系统上将此参数设置为 0。如果需要更改此参数,则逐步增大此值,并且监视系统。

Solaris 7 以及早期发行版-请不要在生产系统上将此参数设置为 0。如果需要更改此参数,则逐步将此值增大到最大 100,并且监视系统。

承诺级别

不稳定

更改历史记录

有关信息,请参见sq_max_size(Solaris 9 12/02 发行版)

ge:ge_intr_mode

说明

启用 ge 驱动程序以直接将包发送到上层通信层,而不是对包进行排队。

缺省值

0(将包排队到上层)

范围

0(启用)或 1(禁用)

是否为动态

何时更改

启用 NCA 时,将此参数设置为 1,以便在中断模式下将包传送到 NCA 以进行更快处理。

承诺级别

不稳定