Client Profile: controls connection between the BigIP LTM and the client
General rules for this are:
- Have a proxy buffer higher than 64 KB but not too high. 131072 B for both works
- Receive window should be at least 132 KB
- Enable Rate Pace and Delay Window Control
- Increase Max Syn Retransmissions from the default of 3 to at least 7
- By default, keep alive internal is 1800 seconds (30 minutes). I prefer this much smaller (10-60 seconds), as it can come in to play with loss recovery
- Congestion control defaults to High Speed, which is fine. Environments with mobile may want to try Woodside
ltm profile tcp /Common/tcp-highspeed-client {
app-service none
defaults-from /Common/tcp
delay-window-control enabled
early-retransmit enabled
keep-alive-interval 30
proxy-buffer-high 131072
proxy-buffer-low 131072
rate-pace enabled
receive-window-size 524288
selective-acks enabled
send-buffer-size 1048576
syn-max-retrans 10
tail-loss-probe enabled
}
Server Profile: controls connection between the BigIP LTM and the backend server
In this case you’ll want to match the OS settings of the backend server. Running “sysctl -a | grep net.ipv4.tcp” is a quick way to discover these. Example for CentOS 6.5:
net.ipv4.tcp_keepalive_intvl = 75 net.ipv4.tcp_keepalive_time = 7200 net.ipv4.tcp_syn_retries = 5
Profile then matches it. Also, Congestion control and Slow Start are disabled since we can assume the connection between the LTM and backend servers will be very fast, low latency, and no loss:
ltm profile tcp /Common/tcp-highspeed-server {
app-service none
congestion-control none
defaults-from /Common/tcp
idle-timeout 7200
keep-alive-interval 75
nagle disabled
proxy-buffer-high 131072
proxy-buffer-low 98304
slow-start disabled
syn-max-retrans 5
}
This is very cool. Worked fine.
LikeLike