Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Not trying to create a "holy war" thread, but I am trying to make a reasoned decision on whether to use Linux or Windows for network applications. To that end, I would like to gain a better understanding of the network performance of a Windows XP host and a Linux host, with proper metrics to make a good comparison of the two.

What would I need to do (or have) to effect that sort of performance comparison? Assume the same hardware specs for the machine and no unnecessary applications or services running on either machine.

share|improve this question

It depends on the type of network activity you are doing.

I would set up a test using the typical tasks your users will do and see how long each performs using a stopwatch.

There are of course other ways, such as copying a huge file and timing it, but if users don't copy massive files, it doesn't matter.

That said, I suspect the performance will be dependent not on the networking capabilities of the platform, but rather on the applications. For example, if the Windows version of a particular application is more chatty or less optimized, it may appear slower than the Linux version.

Generally speaking, I would go with the platform that is most encouraged by the application vendor. There are clues to this such as the pace of updates on one platform or another, or you can simply call the tech support (if they have it) or post a forum message for that application, asking what the dominant platform for the app is.

share|improve this answer

iperf is a good tool to test the maximun bandwith. It don't use the disk so you will really get what the OS/Hardware is capable to give in best condition.

share|improve this answer

The term "network performance" means different things to different people. As AdamB said, it depends on what you want to do. Testing what in some ways is a vague concept is, to say the least, a bit difficult. As far as the choice of OS goes, I suggest making that for reasons other than network performance, as it's unlikely any OS will perform significantly worse than the others in that area.

Example: Running a web server? If it's Apache I'd suggest running it on Linux as the Windows versions are always a little behind in development and don't always run quite as well. Of course if you want to run IIS there's no choice and it has to be Windows.

File server? Base your choice on the clients. e.g. Samba shares on a Linux box using Active Directory authentication is still less than perfect. Windows to Windows, Linux to Linux or Mac to Mac simply makes sense.

share|improve this answer

I would say use iperf or ttcp.

share|improve this answer

I would do the testing ahead of your machines, so you don't disturb the performance with the tool. Most firewall devices will measure bandwidth for you, and that way your measurements aren't dependent on the OS.

For example, I use Zenoss to monitor WAN traffic on my office firewall. At home, I have tomato installed on a WRT54G, which has a graph of bandwidth.

However, I suspect that your network performance is going to depend a lot more on your application than on your operating system.

I've seen a saturated gigabit ethernet link on Mac OS X, Windows, Linux, and FreeBSD. They are all quite capable.

share|improve this answer

I'd argue that network performance is unlikely to be a bottleneck for the majority of things that you're likely to be doing, and you should use other criteria (familiarity, support, cost) to choose your operating system.

share|improve this answer
I'd agree that network performance isn't likely an issue in many cases, but that wasn't really answering my question. – romandas Jul 7 '09 at 13:36

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.