A couple of points: * As Dexter mentioned, gig-e chipsets vary a lot in quality (I'll be watching for marvell and intel) * I learned a few things on a samba I/O farm. An desktop 800 Mhz PIII will max out around 180 Mbits. I've seen over 950 Mbits out of a dual-P4 server. * Motherboard bus chipsets vary enormously. A fast PIII server board will outperform a midrange P4 desktop board (although my information was measuring SCSI I/O as well as GigE). Laptops have consistently crap IO. Definitely stick to server boards. * Last I checked (1 year ago), AMDs appear to have monstrous IO compared to Intel cpus. * Last I checked (linux 2.4 era), Samba had substantially better performance with large files than NFS. SSH did nowhere near as well -- 11Mbytes is actually impressive. * While your hard disks may do 25 Mbytes, the IO overhead of doing both disk and network makes this not a fair environment for testing the network. I concur with suggestions for Netcat and ttcp (which I'll need to try). Alternatively, try moving a copying large files saved in /dev/shm! * Definitely stick to a crossover cable or even a broadcast hub. There is no such thing as a wire-speed switch. Switches work with store and forward and an asic has a clock that compares the destination to a forwarding table -- this doesn't happen in 1 clock cycle on a switch. A dumb hub (if these even exist in gigE, I honestly don't know any, they're generally not practical) puts everything in the same collision domain and you will see lower latency (but collisions will make it not worth it if you EVER have >1 transmitter). You may get close to the speed of a crossover cable with a hub if you're careful. * I never saw much of a performance improvement by tuning the TCP stack or using jumbo frames. If you do see a gain there, I'd love to hear how you got it.
Isn't performance tuning fun?? A few days of playing with this and you'll have enough to publish your findings! Enjoy, Dave -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list
