Click to See Complete Forum and Search --> : Web100 Project


hard candy
01-01-2005, 11:37 AM
Has anyone used this? It was a secondary link from http://www.psc.edu/networking/projects/tcptune/#HighPerf (linked to by dslreports for tuning up Linux/Unix network clients). It involves a kernel patch for 2.6 and 2.4 and a userland program. They have some 2.4 prebuilt kernels available, mainly rpm.
http://www.web100.org/about/
"Project Goals:

* To enable ordinary network users to attain full network data rates without help from network experts.
* To develop the software components necessary for a high performance network host software environment.

Reasons for Poor Network Performance:

* The host system software is optimized for low bandwidth.
* There is a lack of instrumentation and tools to diagnose performance issues at end hosts.

How do we plan to achieve our goals:

* The environment will run common TCP-based applications at the fastest rate appropriate for the underlying network infrastructure.
* The TCP performance tuning transparency will be achieved by embedding the appropriate diagnostics and automatic controls in the end system operating system at a level invisible to the user.
* Create a window into the network to better see and diagnose network performance components.

Benefits of this approach:

* It frees the end user from the need to have detailed knowledge of the network in order to use it effectively.
* It will automate the network tuning, which network engineers currently do by hand.

hard candy
01-01-2005, 11:58 AM
From http://www.psc.edu/networking/projects/tcptune/#Linux
Tuning a Linux 2.4 system
Enabling and disabling some of the advanced features of TCP:
(Usually it is a good idea for these to be enabled)

/proc/sys/net/ipv4/tcp_timestamps
/proc/sys/net/ipv4/tcp_window_scaling
/proc/sys/net/ipv4/tcp_sack

To enable all these features, for example, do the following as root:


echo 1 > /proc/sys/net/ipv4/tcp_timestamps
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
echo 1 > /proc/sys/net/ipv4/tcp_sack
(All this was enabled already on my system)

Path MTU discovery can be enabled and disabled using the following boolean sysctl variable:

/proc/sys/net/ipv4/ip_no_pmtu_disc
(Currently set at "0" on my system).

But be on the lookout for blackholes if this is enabled, as indicated at the beginning of the document. Please see the following URL for additional documentation on sysctl variables:

http://www.linuxhq.com/kernel/v2.4/doc/networking/ip-sysctl.txt.html


Tuning the default and maximum window sizes:

/proc/sys/net/core/rmem_default - default receive window
/proc/sys/net/core/rmem_max - maximum receive window
/proc/sys/net/core/wmem_default - default send window
/proc/sys/net/core/wmem_max - maximum send window

/proc/sys/net/ipv4/tcp_rmem - memory reserved for TCP rcv buffers
/proc/sys/net/ipv4/tcp_wmem - memory reserved for TCP snd buffers

The following values would be reasonable for path with a large BDP:


echo 8388608 > /proc/sys/net/core/wmem_max
echo 8388608 > /proc/sys/net/core/rmem_max
echo "4096 87380 4194304" > /proc/sys/net/ipv4/tcp_rmem
echo "4096 65536 4194304" > /proc/sys/net/ipv4/tcp_wmem

You will find a short description in LINUX-SOURCE_DIR/Documentation/networking/ip-sysctl.txt

If you would like these changes to be preserved across reboots, it may be a good idea to add these commands to your /etc/rc.d/rc.local file.

Now would this make that big of a difference on dsl?
Currently, my /proc/sys/net/core/wmem_max is 131071
and rmem_max is 131071. but I am using a 2.6 kernel.
According to the dsl speed test I am average around 2451566 bps, or 2394 kbps. on an advertised 3000 kbps connection via a linksys gateway to Bellsouth xtreme dsl.
I hate to mess with these networking stacks,etc unless there would be some clear benefit. Thanks.