I have two servers running identical hardware:

  • IBM xSeries x345 (8670/71X)
  • 4Gb RAM
  • 4 x 30Gb Disk in RAID 5, hardware controller

On one server I have Windows Server 2003 R2 SP2 + all patches. On the other I have Windows Server 2008 SP2 + all patches.

With no other major processes running on the system (if anything the win2003 system is more heavily loaded), I install our software and run the automated tests. The win2008 system takes 50% more time to run it.

The software is a socket server daemon, configured to have 1 process running all of the time listening for client connections. For each client connection, it starts a new process connects a socket to it, and then proxies the raw socket data between the client and the new process. All executables are signed (but even if I use an unsigned executable for the one started each request, there is no difference).

Doing a very simple performance test on the two servers (PassMark) showed very similar results. I'm assuming that the problem is in my own software because I can't imagine that 2008 is that much slower than 2003.

Before I delve deep into analysing the problem, has anyone else seen major slowdowns when comparing installation of the same software on server 2003 and server 2008? If so, what was the cause of it?

  • Have you tried running tools such as perfmon to see what resources on each computer are being used? Is memory maxed out? Disk bandwidth? Once you find that out it might lead to the root cause. – Eilon Jan 18 '10 at 3:26
  • soooooooo many variables here... – Jeff Atwood Jan 18 '10 at 4:27
  • Yep. Far too many variables to expect that anyone would say "Hey, BLAH is the problem." However the magnitude of the performance difference made me wonder if anyone else has seen anything similar in a 2003 -> 2008 migration. Perhaps it is well known (to others but not to me) that 2008 is slower to start processes, open sockets or process widgets. – brofield Jan 19 '10 at 8:56

We have deployed 10-15 SBS 2008 servers in the last year. Most customers have noticed slow downs across the board, whether its network related, email, file access, public drive access, everything is slower. Seems the 2008 code is just pig slow. Remember Vista? SBS 2008 is built on the same code. And we all know XP was faster than Vista, so its likely 2003 would be faster/more stable than 2008.

I would say R2 is much better (built on win7) and most of the speed problems have been resolved. What does this all mean? I am not surprised your 2008 box is running slow, its normal.

  • This fits with what we have noticed. The architecture has now been changed to use long lived processes, and although the difference between 2003 and 2008 is less than before, win2003 is still noticeably faster with our app. Mind you, apache perf tests run the same speed on both machines, so there is still perf problems in our own app to look into. Cheers. – brofield Sep 10 '10 at 1:12

Have you applied all of the IBM-specific drivers/patches or just the MS ones? do both machines report the same hardware and have you tried swapping the disks between machines to see if it's a physical or OS issue?


Could the additional overhead be caused by spawning the new process? It sounds like the application is behaving more like a native Unix daemon, where an additional process is spawned for each connection. Windows has much more overhead in creating processes then Unix, so most Windows server applications us a multithreaded model to handle incoming connections.

  • This is a major perf problem that has needed fixing for years, however it is just the magnitude of the difference between 2003 and 2008 that surprised me. – brofield Jan 19 '10 at 8:53

Is there a difference in address size on the machines? Is the 2003 machine 32-bit, and the 2008 machine 64-bit?

  • No. Identical hardware. Apache perf test runs the same on both machines. – brofield Jan 19 '10 at 8:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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