Solaris Tunable Parameters Reference Manual

Chapter 5 Network Cache and Accelerator Tunable Parameters

This chapter describes some of the Network Cache and Accelerator (NCA) tunable parameters.

Where to Find Tunable Parameters Information

Tunable Parameter 

For Information 

Solaris kernel tunables 

Chapter 2, Solaris Kernel Tunable Parameters

NFS tunable parameters 

Chapter 3, NFS Tunable Parameters

Internet Protocol Suite tunable parameters 

Chapter 4, Internet Protocol Suite Tunable Parameters

Tuning NCA Parameters

Setting these parameters is appropriate on a system that is a dedicated web server. These parameters allocate more memory for caching pages. You can set all of the tuning parameters described in this chapter in the /etc/system file.

For information on adding tunable parameters to the /etc/system file, see Tuning the Solaris Kernel.

nca:nca_conn_hash_size

Description

Controls the hash table size in the NCA module for all TCP connections, adjusted to the nearest prime number.

Default

383 hash table entries

Range

0 to 201,326,557

Dynamic?

No

When to Change

When the NCA's TCP hash table is too small to keep track of the incoming TCP connections. This situation causes many TCP connections to be grouped together in the same hashtable entry. This situation is indicated when NCA is receiving many TCP connections, and system performance decreases.

Commitment Level

Unstable

nca:nca_conn_req_max_q

Description

Defines the maximum number of pending TCP connections for NCA to listen on.

Default

256 connections

Range

0 to 4,294,967,295

Dynamic?

No

When to Change

When NCA closes a connection immediately after it is established because it already has too many established TCP connections. If NCA is receiving many TCP connections and can handle a larger load, but is refusing any more connections, increase this parameter. Doing so allows NCA to handle more simultaneous TCP connections.

Commitment Level

Unstable

nca:nca_conn_req_max_q0

Description

Defines the maximum number of incomplete (three-way handshake not yet finished) pending TCP connections for NCA to listen on.

Default

1024 connections

Range

0 to 4,294,967,295

Dynamic?

No

When to Change

When NCA refuses to accept any more TCP connections because it already has too many pending TCP connections. If NCA is receiving many TCP connections and can handle a larger load, but is refusing any more connections, increase this parameter. Doing so allows NCA to handle more simultaneous TCP connections.

Commitment Level

Unstable

nca:nca_ppmax

Description

Specifies the maximum amount of physical memory (in pages) used by NCA for caching the pages. This value should not be more than 75 percent of total memory.

Default

25 percent of physical memory

Range

1 percent to maximum amount of physical memory

Dynamic?

No

When to Change

When using NCA on a system with more than 512 Mbytes of memory. If a system has a lot of physical memory that is not being used, increase this parameter. Then, NCA will efficiently use this memory to cache new objects. As a result, system performance will increase.

This parameter should be increased in conjunction with nca_vpmax, unless you have a system with more physical memory than virtual memory (a 32-bit kernel that has greater than 4 Gbytes memory). Use pagesize(1) to determine your system's page size.

Commitment Level

Unstable

nca:nca_vpmax

Description

Specifies the maximum amount of virtual memory (in pages) used by NCA for caching pages. This value should not be more than 75 percent of the total memory.

Default

25 percent of virtual memory

Range

1 percent to maximum amount of virtual memory

Dynamic?

No

When to Change

When using NCA on a system with more than 512 Mbytes of memory. If a system has a lot of virtual memory that is not being used, increase this parameter. Then, NCA will efficiently use this memory to cache new objects. As a result, system performance will increase.

This parameter should be increased in conjunction with nca_ppmax. Set this parameter about the same value as nca_vpmax, unless you have a system with more physical memory than virtual memory.

Commitment Level

Unstable

General System Tuning for the NCA

In addition to setting the NCA parameters, you can do some general system tuning to benefit NCA performance. If you are using gigabit Ethernet (ge driver), you should set the interface in interrupt mode for better results.

For example, a system with 4 Gbytes of memory that is booted under 64-bit kernel should have the following parameters set in the /etc/system file. Use pagesize to determine your system's page size.


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

Description

Sets the depth of the syncq (number of messages) before a destination STREAMS queue generates a QFULL message.

Default

10000 messages

Range

0 (unlimited) to MAXINT

Dynamic?

No

When to Change

When NCA is running on a system with a lot of memory, increase this parameter to allow drivers to queue more packets of data. If a server is under heavy load, increase this parameter so that modules and drivers can process more data without dropping packets or getting backlogged.

Solaris 8 and later releases – Do not set this parameter to 0 on production systems. If you need to change this parameter, gradually increase this value, and monitor the system.

Solaris 7 and earlier releases – Do not set this parameter to 0 on production systems. If you need to change this parameter, gradually increase this value to a maximum of 100, and monitor the system.

Commitment Level

Unstable

Change History

For information, see sq_max_size (Solaris 9 12/02 Release).

ge:ge_intr_mode

Description

Enables the ge driver to send packets directly to the upper communication layers rather than queue the packets

Default

0 (queue packets to upper layers)

Range

0 (enable) or 1 (disable)

Dynamic?

No

When to Change

When NCA is enabled, set this parameter to 1 so that the packet is delivered to NCA in interrupt mode for faster processing.

Commitment Level

Unstable