PDA

View Full Version : Network throughput


Rhettigan
02-11-2008, 04:26 PM
I deal with a lot of network devices for ThinkComputers (http://www.thinkcomputers.org) and split the duties with Sean for BIOS LEVEL (http://www.bioslevel.com).

We generally run a few tests: Disk -> network -> disk via SFTP, SMB, CIFS : tests bandwidth/throughput with bottlenecks in protocol, CPU, and hard disk performance
Disk -> network -> disk via ye olde netcat : Bottle neck in hard drive (and IP stack, but it's fairly consistent across Linuxes, I think)
RAM disk -> network -> RAM disk via netcat : Bottleneck is RAM speed


I may have omitted a test or two, but I'll send a link to this thread to Sean so he can add to it, too.

How do others test network performance?

Devices I've tested are primarily routers, switches/hubs/bridges, and NAS devices. I have yet to get my hands on a Killer NIC.


I was thinking about a test suite in which one computer runs a program which performs each of the tests automatically, but handles the file/RAM management operations.

What do you think?

Swoopy
02-12-2008, 07:01 AM
/dev/zero -> network -> NFS share -> disk
and
disk -> NFS share -> network -> /dev/null

NFS protocol is quicker than CIFS/SMB or sFTP.
In testing I try not to have the book-end target and source both be disks because typically that is not how an application accesses it's data over a network share. Also one or the other disk may end up being the bottleneck as far as sustained throughput (e.g. many gigabytes sequentially read) is concerned.
Oh and don't use /dev/random or /dev/urandom as sources since they're typically rather slow to output their random data :(

With any given NIC / network, I'm usually already happy if the throughput I get is just above the theoretical max speed of the next slower generation or technology.
E.g. theoretical max. throughput of a 100 Mbit ethernet NIC is about 10-12 MB/sec so if that, or a bit more, is what I get out of Gigabit Ethernet I'm usually already content.

Rhettigan
02-12-2008, 01:24 PM
/dev/zero -> network -> NFS share -> disk
and
disk -> NFS share -> network -> /dev/null

NFS protocol is quicker than CIFS/SMB or sFTP.

I wish I could always use NFS (I can't believe I omitted it from my list above!), but I've found that a couple of NASes don't support it. On top of that, Windows folks aren't going to use NFS.

Perhaps a benchmark using both CIFS and NFS is appropriate. I think I've done this with most of my NAS reviews--I'll have to go back and check (I just woke up and am a little blurry-eyed because of 8 inches of snow in the past 6 hours).