Chapter 4. Tuning the operating system 125
Draft Document for Review May 4, 2007 11:35 am 4285ch04.fm
Streaming and sequential content usually benefits from large stripe sizes by reducing disk
head seek time and improving throughput, but the more random type of activity, such as that
found in databases, performs better with a stripe size that is equivalent to the record size.
4.7 Tuning the network subsystem
The network subsystem should be tuned when the OS is first installed as well as when there
is a perceived bottleneck in the network subsystem. A problem here can affect other
subsystems: for example, CPU utilization can be affected significantly, especially when packet
sizes are too small, and memory use can increase if there is an excessive number of TCP
connections.

4.7.1 Considerations of traffic characteristics

One of the most important considerations for network performance tuning is to understand
network traffic patterns as accurately as possible. Keep in mind that performance greatly
varies depending on the network traffic characteristics.
For example, the following two figures shows the result of throughput performance using
netperf and they illustrate quite different performance characteristics. The only difference is
traffic type. Figure 4-14 shows the result of TCP_RR type traffic and TCP_CRR type traffic
(refer to 2.4.3, “netperf” on page 73). This performance difference is mainly caused by the
TCP session connect and close operations overhead and the major factor is Netfilter
connection tracking (refer to 4.7.6, “Performance impact of Netfilter” on page 133).
Figure 4-14 An example result of netperf TCP_RR and TCP_CRR benchmark
As we have shown here, even in exactly the same configuration, performance varies greatly
depending on even slight traffic characteristics differences. You should take much care of
network traffic characteristics and requirements. At least be familiar or have a reasonable
guess about the followings.
򐂰Transaction throughput requirements (peak, average)
򐂰Data transfer throughput requirements (peak, average)
򐂰Latency requirements
򐂰Transfer data size
򐂰Proportion of send and receive
򐂰Frequency of connection establishment and close or number of concurrent connections.
򐂰Protocol (TCP, UDP and application protocol such as HTTP, SMTP, LDAP etc.)
TCP_CRR benchmark
0
500
1000
1500
2000
2500
3000
3500
4000
1024 2048 4096 8192 16384 32768 65536 131070 262144
remote send socket size
trans per sec
1
16
128
1024
1460
4096
16384
32768
65536
131072
Data size
(bytes)
TCP_RR benchmark
0
2000
4000
6000
8000
10000
12000
1024 2048 4096 8192 16384 32768 65536 131070 262144
Remote send socket size
Transactions per second
1
16
128
1024
1460
4096
16384
32768
65536
131072
Data siz e
(bytes)