blob: de0088302d374e3607f8e4e8b2f0197b40254390 [file] [log] [blame]
#!/bin/sh
case "$1" in
start)
# Decrease tcp keep alive time, probing intervals and number of probes
# because of the high instability of our customers' networks.
# The default values are:
# net.ipv4.tcp_keepalive_time = 7200
# net.ipv4.tcp_keepalive_intvl = 75
# net.ipv4.tcp_keepalive_probes = 9
sysctl net.ipv4.tcp_keepalive_time=600 #10min
# Interval between probes.
sysctl net.ipv4.tcp_keepalive_intvl=30 #30s
# Number of consecutive probing failures before dropping the connection.
sysctl net.ipv4.tcp_keepalive_probes=3
# TODO(erdi): Disable IPv6 until it is fully supported in App.
sysctl net.ipv6.conf.all.disable_ipv6=1
# SpaceCast receives packets from a 60Mbps multicast UDP stream.
# Avoid UDP packet loss by increasing socket buffer size.
# rmem_default defines the default receive socket buffer size in bytes.
sysctl net.core.rmem_default=16777216 #16MB
# rmem_max defines the maximum receive socket buffer size in bytes.
sysctl net.core.rmem_max=33554432 #32MB
# Set the socket write buffer size large enough to hold a complete
# blocksize from the streamer.
# wmem_max defines the maximum send socket buffer size in bytes.
sysctl net.core.wmem_max=1572864
# Run the kernel flusher threads every 500ms (instead of every 5s)
# On systems without a full cache most data from the 60Mbps stream is
# written to disk. At 500ms the data can be written out relatively
# early, without hogging the CPU.
sysctl vm.dirty_writeback_centisecs=50
# Make dirty pages eligible for writeout by the flusher threads after
# 100ms (instead of 30s). On SpaceCast there is no benefit in delaying
# the writeout and accumulating dirty pages which could be used by
# other parts of the system.
sysctl vm.dirty_expire_centisecs=10
# Panic everytime there is a kernel oops
sysctl -q kernel.panic_on_oops=1
;;
stop)
;;
restart|reload)
$0 stop; $0 start ;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac