Designing a High Performance Network File Server

9
Checksum Offload is supported on “iether”, “igelan” and “gelan” type Gigabit Ethernet interfaces as
well as “hpixgbe” type 10 Gigabit Ethernet adapters. CKO may be enabled or disabled for both the
transmit side or receive side of each Ethernet card. Configuring CKO can either be done interactively
using the lanadmin(1M) command with the “-X send_cko_on” or “-X recv_cko_on” options
or automatically during system boot by configuring the appropriate configuration file for your NIC
type in the /etc/rc.config.d directory.
For example, to enable send and receive CKO on an “iether” type interface add lines similar to the
following to the /etc/rc.config.d/hpietherconf file:
HP_IETHER_SEND_CKO[1]=ON
HP_IETHER_RECV_CKO[1]=ON
Similarly, to enable CKO on an “igelan” interface, add appropriate entries for the specific interface
to the /etc/rc.config.d/hpigelanconf file:
HP_IGELAN_SEND_CKO[1]=ON
HP_IGELAN_RECV_CKO[1]=ON
To enable CKO on a “gelan” interface, add appropriate entries for the specific interface to the
/etc/rc.config.d/hpgelanconf file:
HP_GELAN_SEND_CKO[1]=ON
HP_GELAN_RECV_CKO[1]=ON
Finally, to enable CKO on an “hpixgbe” interface, add appropriate entries for the specific interface to
the /etc/rc.config.d/hpixgbeconf file:
HP_IXGBE_TX_CHECKSUM_OFFLOAD[1]=ON
HP_IXGBE_RX_CHECKSUM_OFFLOAD[1]=ON
Increase TCP Send and Receive Windows
TCP uses what is called the “congestion window” to determine how many packets can be sent or
received on a connection at any given time. A well-tuned congestion window size enables higher
throughput on a connection, provided both the client and server systems are able to keep pace with
the rate of inbound and outbound packets.
On HP-UX 11i v2, the maximum congestion window sizes are configurable for both the send and
receive ends of the socket. These buffer sizes are controlled by the ndd(1M) parameters
tcp_xmit_hiwater_def (send) and tcp_recv_hiwater_def (receive). By default these
parameters are set to 32 Kilobytes. During this engagement these parameters were increased to 256
Kilobytes on the NFS server and all of the NFS clients. The increase in TCP window size improved
overall TCP throughput, and thereby increased NFS throughput.
The ndd(1M) command may be used to dynamically change these send and receive buffer sizes
interactively. However, since the TCP window size is negotiated during connection establishment,
only new TCP connections established after the values are changed will take advantage of the new
buffer size values. HP-UX systems may also be configured to increase the TCP buffer sizes during
system boot by adding the following entries to the /etc/rc.config.d/nddconf file:
TRANSPORT_NAME[0]=tcp
NDD_NAME[0]=tcp_recv_hiwater_def
NDD_VALUE[0]=262144