After playing around with my WinXP Pro installation in a (vain?) attempt to reach decent speeds over the gigabit network, I finally switched to Linux to see if it made any difference. But before I tell you, lets have some background, shall we? :-)

The server consists of a Celeron 2.0Ghz with 1GB RAM and a RAID5 array consisting of 3 x 300GB disks connected with SATA. The total capacity of the array is about 600GB (if you go by the manufactuer size, which is quite missleading, but I digress). The performance of the array is good, tests done with bonnie++ v1.93c shows that the server easily does 55MiB/s read and writes, sustained(!!) … These tests were done live, with regular activity on the server (not that I have that much load on it, but anyway). So the server seems pretty fit for using a gigabit adapter (even if it’s a cheap one and stuck on the PCI bus at that).

The next part of the equation is the workstation which I use to access the server. It’s a AMD64X2 +4200 with 4GB RAM and a RAID0 array consisting of 2 x 250GB disks (need I mention that it’s SATA with NCQ? ;-) ) … Needless to say this machine rocks.

As for operating systems, the server runs Linux 2.6.15-gentoo-r1 and the workstation runs WinXP Pro SP2 (how else will I get my games fix?). With this kind of setup, I expected to see speeds above 9MiB/s since this is a 1Gbit/s network, not a 100Mbit/s one. But this is where the troubles begin.

The first attemps yielded (at best) 9MiB/s transfers using regular windows filesharing. It didn’t matter which direction I was pushing data, it just wouldn’t go any higher. Atleast, this was the case until I disabled the local firewall (Kerio) and the Avast! network shield. All of the sudden I saw speeds between 10MiB/s and 12MiB/s, which is better, but not alot. Further digging quickly showed that WinXP was spending most of its time in the kernel… For BOTH cpu cores (and I wasn’t doing anything but transfering one file).

Starting to get a bit irritated I switched over to using FTP, thus avoid the overhead caused by the SMB protocol (used by windows filesharing). This gave an additional 1MiB/s, pushing the total to an "impressive" 13MiB/s (not constant though), while loading the CPU(s) to the maximum. A quick SSH to the server showed it running at about 50% cpu load…. 50% !!! And here my dual core machine is bogged down 4 times that. What gives?!

Enter Knoppix… An amazing "little" distro which allows you to boot straight into a fully functional Linux system with all the trimings. Downloaded the 3GB DVD version to make sure I would have all the tools I’d need (thank good for Bredbandsbolaget and a ~100Mbit/s feed … 5MiB/s downloads is da shit :-) ).

A quick burn later and I was off… After a few reboots to make sure I got a resolution higher than a cellphone (wouldn’t detect the display and/or graphicscard correctly :-( ) I was starting to worry. I was seeing even slower speeds using Knoppix, so once again I switched from SMB to FTP to see if it would improve the situation.

It didn’t.

In fact, it went straight to /dev/null. My network card suddenly stopped communicating with the rest of the world.

Several reboots (of both computers and switches), I was wondering if I actually had managed to burn my intergrated networkcard. It would be a first for sure, but somehow it didn’t seem too unlikely at the moment. Luckily, everything was solved by doing a really hard reboot (yanking the cord). Knoppix was definitivly out of the picture. A distro capable of crashing the networkcard to a point where you need to remove all power (including the powercord) is not a distro I’m willing to continue testing with.

So, off into the net for a copy of the Gentoo LiveCD. Why gentoo? Well, why not? It’s my distro of choice for running linux servers/workstations and they’ve just released a new version with (hopefully) newer and better drivers than the ones found on Knoppix v4.

A quick reboot and on with the show. Gentoo booted straight into a gnome enviroment with little or no tools (this is mainly a platform for messing about and installing gentoo, not a fullfledged linux desktop system). Started with SMB again and this time it was different, files were being copied faster, or atleast, that’s what it felt like.

Not content to just "feel" it, I needed empirical proofs. Atleast something to show for my work. FTP was the answer, but I was let down by the liveCD. Apparently FTP is considered evil and no matter how much I search the CD, I couldn’t find any ftp software at all. On the other hand, I found that the CD had a full version of GCC. A fast click and tar and I was ready to compile lftp. This was also the first time I compiled anything linux on my AMD rigg, so I gave make the file magic option "-j4" … Use four threads for compilation!

Swooosh!

Within a minute the lftp client was compiled. Damn! That’s really fast, maybe it’s time to consider running gentoo on the workstation aswell, just to enjoy fast compile times??? Nah! Guess it’s the wear and tear that’s starting to shine through this little rant ;-)

Anyway, started the newly built lftp client and gave it a spin … And wouldn’t you know it… It really flexed it wings and pushed a consistant 21MiB/s … Which probably is as good as I’ll ever get it without some new hardware on the server. It took about 66 seconds to transfer 1.5GiB. Now, why can’t WinXP do this?

Older measurements I did with iperf showed that using UDP, a staggering 900Mbit/s (with no packet loss) was possible, so why should 200Mbit/s be utter impossible using WinXP? My theory is that the networkstack in WinXP is far from the lean machine that powers Linux, and this starts to show when pushing above 100Mbit/s. Which is amazing considering all the "offloading" technology that todays networkcards come with. Offload to where exactly is my question?

If anyone has an idea on how to improve the network performance in WinXP so it spends less time in the kernel, I’m all ears. Until then I guess I’ll have to make do with 9MiB/s.

By Henric, April 20, 2006, 00:47 o'clock

Add your own comment or set a trackback

Currently 1 comment

  1. Comment by Panas

    Good evening. I am here for a purpose and that purpose is to grow into a mountain, not to shrink to a grain of sand. Henceforth will I apply ALL my efforts to become the highest mountain of all and I will strain my potential until it cries for mercy. Help me! Looking for sites on: Benefit cosmetics suppliers. I found only this - benefit cosmetic coupons. Save money! We have eye makeup comparison shopping information at mysimon. Also, the added benefit is that my pores are not clogged and my skin looks. Thanks :rolleyes:. Panas from Republic.

Add your own comment

This is a captcha-picture. It is used to prevent mass-access by robots. (see: www.captcha.net)

You must read and type the 8 chars within 0..9 and A..F, and submit the form.

  

Oh no, I cannot read this. Please, generate a



Follow comments according to this article through a RSS 2.0 feed