Koozali.org: home of the SME Server

Network Throughput Problem?

Offline dhalliday

  • *
  • 41
  • +0/-0
Network Throughput Problem?
« on: September 13, 2011, 07:56:26 PM »
Is the max network throughput limit per process? If so where is this configured?

I have just moved from a server with 100Meg ports to one with 1Gig ports and see the following:

1) On the new GigE equipped server.
   I perform a wget and I only get about 21M bytes/s
   I can run about 5 wget's and get a total of 100M bytes/s (20 M/s each).

2) On another test machine running vanilla Centos 5.6
    The single wget will perform at a full 100M bytes/s
    2 wgets would give about 50M bytes each
    and so on

3) On my old SME Server that was only equipped with a 100Meg interfaces
    I can do a single wget for (10M bytes/s).

So it is looking like the new machine has a limit of about 20M bytes/s per process.

Hope someone has some insight into this.

Many thanks,

Dave.


Offline CharlieBrady

  • *
  • 6,918
  • +3/-0
Re: Network Throughput Problem?
« Reply #1 on: September 13, 2011, 08:56:35 PM »
Is the max network throughput limit per process?

No.

Offline dhalliday

  • *
  • 41
  • +0/-0
Re: Network Throughput Problem?
« Reply #2 on: September 13, 2011, 11:17:52 PM »
OK it looks like this is a Tcp tuning issue.

I can get to 100M bytes+ by setting

 echo "4096 87380 4194304" > /proc/sys/net/ipv4/tcp_rmem
 echo "4096 16384 4194304" > /proc/sys/net/ipv4/tcp_wmem

While these allow the speed to go up above 100M they are choppy, in that the speed does drop to 50ish then work its way back up then drop again... etc.

Dave.
« Last Edit: September 13, 2011, 11:53:50 PM by dhalliday »

Offline dhalliday

  • *
  • 41
  • +0/-0
Re: Network Throughput Problem?
« Reply #3 on: September 14, 2011, 12:14:52 AM »
OK, I think the choppiness was a limit of writing the downloaded file to the local disk! If I send it with -O /dev/null I now get a full GigE download.


Offline gregswallow

  • *
  • 651
  • +1/-0
Re: Network Throughput Problem?
« Reply #4 on: September 14, 2011, 12:20:05 AM »
File a bug report.  I googled a bit about network throughput tuning on CentOS and checked a standard CentOS 5.6 install and /etc/sysctl.conf has some settings that are not in the templated /etc/sysctl.conf:

/sbin/sysctl -p
...shows you what is being overridden in the /etc/sysctl.conf file on each server. 

This is what is on the standard CentOS server:
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456

I think some of those settings might account for the difference you're seeing from SME to CentOS, but better to discuss that in the bug report.

Offline dhalliday

  • *
  • 41
  • +0/-0
Re: Network Throughput Problem?
« Reply #5 on: September 14, 2011, 12:56:30 AM »
7.x is still based on the older Centos 4.x so you need to compare to a vanilla 4.x install

On the vanilla Centos 4.x install the buffers are set to

net.ipv4.tcp_rmem = 4096        87380   174760
net.ipv4.tcp_wmem = 4096        16384   131072

This matches SME Servers 7.x settings but are way to low for GigE

On Centos 5 they were upped to

net.ipv4.tcp_rmem = 4096        87380   4194304
net.ipv4.tcp_wmem = 4096        16384   4194304

This will presumably match the SME Server 8.x if and when it is ever released.

For even higher network speeds (10Gig)

I found the following recommended settings.

http://fasterdata.es.net/fasterdata/host-tuning/linux/

I'm not sure this is a bug per se, as SME matches the upstream but I suppose it could be seen that way and would be easy enough to fix in a patch update.

Dave.




Offline thomasc73

  • *
  • 9
  • +0/-0
Re: Network Throughput Problem?
« Reply #6 on: September 15, 2011, 10:17:39 AM »
Dave,

My 7.5 is on Gigabit too.
I want to fine-tune the throughput to the max

Please share a how-to.
thanks.

tom