|
Caches are typically deployed by customers for any of the following reasons:
The fourth reason is an often overlooked and much less understood property of deploying caching, and it can often have a huge benefit on the performance of TCP end to end.
Queries sent between a server and a client and the replies generated are defined as transactions. For data transactions between client and servers, the size of windows and buffers is important, and fine-tuning the TCP stack parameters therefore becomes the key to maximizing this benefit.
The relevant TCP parameters to maximize cache performance and throughput include the ability to tune timeout periods, client and server receive/send buffer sizes, and TCP window scaling behavior.
Note Because of the complexities involved in TCP parameters, care is advised in tuning these parameters. In nearly all environments, the default TCP settings are adequate. Fine tuning of TCP settings is for network administrators with adequate experience and full understanding of TCP operation details. |
To view the TCP configuration parameters in the Content Engine, start the Content Engine GUI, click Systems, and then choose TCP. The TCP Configuration window is displayed. (See Figure 12-1.) See Table 12-1 for a description of the TCP configuration parameters and the corresponding CLI commands.
Fields | TCP CLI Commands | Descriptions |
---|---|---|
Send Buffer | ||
To Server | tcp server-send-buffer kbytes | TCP outgoing window size in kilobytes (1-128). The default is 8 KB. |
To Client | tcp client-send-buffer kbytes | TCP outgoing window size in kilobytes (1-128). The default is 32 KB. |
Receive Buffer | ||
To Server | tcp server-receive-buffer kbytes | TCP incoming window size in kilobytes (1-128). The default is 32 KB. |
To Client | tcp client-receive-buffer kbytes | TCP incoming window size in kilobytes (1-128). The default is 8 KB. |
R/W Timeout | ||
To Server | tcp server-rw-timeout seconds | Interval after which the Content Engine will time out trying to read or write to the network (1-3600). The default is 120 seconds. |
To Client | tcp client-rw-timeout seconds | Interval after which the Content Engine will time out trying to read or write to the network (1-3600). The default is 120 seconds. |
Keepalive | ||
Keepalive | tcp keepalive-probe-interval | Length of time that the Content Engine will keep a connection open before disconnecting. |
Timeout | tcp keepalive-interval seconds | Length of time that the Content Engine will keep an idle connection open (1-3600 seconds). The default is 300 seconds. |
Count | tcp keepalive-probe-cnt count | Number of times the Content Engine will retry a connection (1-10 attempts). The default is 4 attempts. |
Congestion Window Base | tcp cwnd-base | Initial congestion window value (1-10 segments). The default is 2 segments. |
Initial slow start threshold value | tcp init-ss-threshold | Low watermark threshold for slow start (2-10 segments). The default is 2 segments. |
Retransmitter Timer Increment factor | tcp increase-xmit-timer-value | Factor (1-3) used to modify the length of the retransmit timer by 1 to 3 times the base value determined by the TCP algorithm. The default is 1, which leaves the times unchanged. Note Modify this factor with caution. It can improve throughput when TCP is used over slow reliable connections but should never be changed in an unreliable packet delivery environment. |
Maximum Segment Size | ||
Server | tcp server-mss maxsegsize | Maximum packet size sent to servers. The default is 1460 bytes. |
Client | tcp client-mss | Maximum packet size sent to clients. The default is 1432 bytes |
Others | ||
Satellite | tcp server-satellite | Server and client TCP compliance with RFC 1323. See the "TCP-Over-Satellite Extensions" section. |
Type of Service | type-of-service | TCP Type of Service. The default is disabled. |
Ecn | ecn | TCP explicit congestion notification. |
The Content Engine has the ability to turn on TCP-over-satellite extensions (as documented in
RFC 1323) to maximize performance and end-to-end throughput over satellite-type connections.
The large number of satellites available to network infrastructures has increased the amount of bandwidth available in the air. Taking advantage of these connections through satellite-type connections has created new challenges in the use of TCP transactions and acknowledgments:
Use the tcp server-satellite and tcp client-satellite commands to set the TCP connection so that it complies with RFC 1323.
To display current TCP configuration information, use the show tcp EXEC command. Note that the default 8 KB incoming window size for the client buffer is used.
ContentEngine# show tcp
==TCP Configuration==
TCP keepalive timeout 300 sec
TCP keepalive probe count 4
TCP keepalive probe interval 75 sec
TCP server R/W timeout 120 sec
TCP client R/W timeout 120 sec
TCP server send buffer 8 k
TCP server receive buffer 32 k
TCP client send buffer 32 k
TCP client receive buffer 8 k
TCP server max segment size 1460
TCP satellite (RFC1323) disabled
TCP client max segment size 1432
TCP explicit congestion notification disabled
TCP type of service disabled
TCP cwnd base value 2
TCP initial slowstart threshold value 2
TCP increase(multiply) retransmit timer by 1
ContentEngine#
In this example, the tcp client-receive-buffer command is used to change the TCP incoming window size to 100 KB.
ContentEngine(config)# tcp client-receive-buffer 100
ContentEngine(config)
You can now verify the configuration change with the show tcp command.
ContentEngine# show tcp
==TCP Configuration==
TCP keepalive timeout 300 sec
TCP keepalive probe count 4
TCP keepalive probe interval 75 sec
TCP server R/W timeout 120 sec
TCP client R/W timeout 120 sec
TCP server send buffer 8 k
TCP server receive buffer 32 k
TCP client send buffer 32 k
TCP client receive buffer 100 k
TCP server max segment size 1460
TCP satellite (RFC1323) disabled
TCP client max segment size 1432
TCP explicit congestion notification disabled
TCP type of service disabled
TCP cwnd base value 2
TCP initial slowstart threshold value 2
TCP increase(multiply) retransmit timer by 1
ContentEngine#
Posted: Mon Nov 18 11:28:56 PST 2002
Copyright 1989-2000©Cisco Systems Inc.