new scripts for tinkering with tcp buffer sizes on linux.
authorChris Koeritz <fred@gruntose.com>
Tue, 31 Jul 2012 15:07:01 +0000 (11:07 -0400)
committerChris Koeritz <fred@gruntose.com>
Tue, 31 Jul 2012 15:07:01 +0000 (11:07 -0400)
scripts/networking/set_tcp_config.sh [new file with mode: 0644]
scripts/networking/show_tcp_memory.sh [new file with mode: 0644]

diff --git a/scripts/networking/set_tcp_config.sh b/scripts/networking/set_tcp_config.sh
new file mode 100644 (file)
index 0000000..7fc3d76
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+# this script modifies the linux kernel for maximum tcp buffer size, which can
+# improve long-haul transfers over a wan.
+
+# new maximum buffer size to set.
+new_max=4194304
+
+echo "net.core.wmem_max=$new_max" >> /etc/sysctl.conf
+echo "net.core.rmem_max=$new_max" >> /etc/sysctl.conf
+
+echo "net.ipv4.tcp_rmem= 10240 87380 $new_max" >> /etc/sysctl.conf
+echo "net.ipv4.tcp_wmem= 10240 87380 $new_max" >> /etc/sysctl.conf
+
+echo "net.ipv4.tcp_window_scaling = 1" >> /etc/sysctl.conf
+
+echo "net.ipv4.tcp_timestamps = 1" >> /etc/sysctl.conf
+
+echo "net.ipv4.tcp_sack = 1" >> /etc/sysctl.conf
+
+echo "net.ipv4.tcp_no_metrics_save = 1" >> /etc/sysctl.conf
+
+echo "net.core.netdev_max_backlog = 5000" >> /etc/sysctl.conf
+
diff --git a/scripts/networking/show_tcp_memory.sh b/scripts/networking/show_tcp_memory.sh
new file mode 100644 (file)
index 0000000..7e81e94
--- /dev/null
@@ -0,0 +1,17 @@
+
+function show_proc()
+{
+  echo ----------------------------------------------
+  echo $*
+  $*
+}
+
+show_proc cat /proc/sys/net/ipv4/tcp_mem
+show_proc cat /proc/sys/net/core/rmem_default
+show_proc cat /proc/sys/net/core/rmem_max
+show_proc cat /proc/sys/net/core/wmem_default
+show_proc cat /proc/sys/net/core/wmem_max
+show_proc cat /proc/sys/net/core/optmem_max
+show_proc cat /proc/net/sockstat
+show_proc cat /proc/sys/net/ipv4/tcp_max_orphans
+