Apache, PHP, MySQL Work faster in Linux than Windows?

I recently took my six year old windows machine and turned it into a CentOS 5.5 NAS/LAMP. Using software RAID5 for storage and putting the OS on a separate drive also has some performance advantages.

The performance increase has been staggering. The OS performs so much better on the machine than Windows did.

The real advantage to moving to Linux here, was there is no overhead for the window manager as I am running it headless with no GUI.

In short, your dealing with old hardware that will be better served via a Linux environment. I'm a fan of CentOS as I'm a RedHat guy.


Short Answer - You wouldn't notice on modern hardware.

The major benefit here will not be speed but relative performance for the cost. Open source projects are usually designed and tested on *nix (linux/unix/bsd) first, and then 'ported' to Windows. Features usually creep into windows 2nd, not first.

This brings me to my next point...

Licensing fees are the hidden performance cost

If you have a 6 core Linux server it doesn't cost any money to use all 6 cores, and with the money you save on licensing you can buy more memory, or faster disks - this will be the biggest performance increase, not one OS vs Another.

Linux has unique features

There is also the case to make about Operating System features, although many programs don't yet take advantage of them... In the case of epoll vs select() or poll() - windows does not have an equivelant, nor does it have sendfile, or a threads implementation similar to pthreads in 2.6+ Kernels.

Memory and Disk are always the Bottleneck

Processors are SO fast nowadays, processors are eternally starved (yes starved) for data - the system memory is usually 3 - 4 times slower still to this day. The processor usually does 4-5 wait cycles for every memory access. This is why processors have 3 levels of internal caching (L1, L2, L3) to help with this. Disk access will be even a larger factor - so save your licensing pennies and buy more memory, and faster disks!!!


I think most people here would agree a LAMP (Linux, Apache, Mysql, PHP) stack is better than Windows. I would recommend Ubuntu if you're new to Linux, Alex is correct in saying that Ubuntu will get you the best results in the forums. A quick search for "best drupal platform" returns all Linux results.


My own observations indicate that when properly installed on a similarly configured OS on the same hardware, the Linux machine will perform better. While that can be a very significant issue when using old hardware or virtual machines, as Ben stated, you are unlikely to notice it on current hardware.

I also makes sense to, wherever practical, to run software on the OS it was designed for. Running software ported to a different OS seldom gives the same performance and stability and frequently either lags behind the main development or lacks some of the features.