Slashdot Mirror


Red Hat/Apache Slower Than Windows Server 2003?

phantomfive writes "In a recent test by a company called Veritest, Windows 2003 web server performs up to 300% higher throughput than Red Hat Linux running with Apache. Veritest used webbench to do there testing. Since the test was commisioned by Microsoft, is this just more FUD from a company with a long history? Or are the results valid this time? The study can be found here."

20 of 628 comments (clear)

  1. Just like the samba benchmark by dtfinch · · Score: 5, Informative

    Looking at the first page of the benchmark report, I see that they're using the exact same setup as in their highly contested samba benchmark, with a specific ancient version of Red Hat running on a specific hardware setup that version is known to have performance problems on. They could have at least tried a different server last time, or a modern version of Linux. Under fairer circumstances, who knows, IIS might have still won, but this rigged benchmark has nothing to offer us in deciding which server is faster.

    1. Re:Just like the samba benchmark by cperciva · · Score: 5, Informative

      ...a specific ancient version of Red Hat

      This report was written in April 2003, according to the first page. They used the most recent version of RedHat available to them.

      This report may be two years out of date, but I can't see any signs of bias in its production.

    2. Re:Just like the samba benchmark by dtfinch · · Score: 5, Informative

      "we applied no additional patches and made no additional modifications to the Red Hat Linux Advanced Server 2.1 distribution used for these tests"

      I remember installing CentOS-3, based on RHEL3, on a server and having terribly slow disk performance with my raid adaptor. Running "yum update" to get the current patches yielded about a 10x speedup. Yet the Windows server gets a dozen or so undocumented registry tweaks.

      In the SSL comparison, they're using the fastest (though slightly less secure) choice of encryption algorithms in IIS and the slowest in Apache. They're comparing RC4+MD5 to 3DES+SHA1.

      And they decided to include ISAPI in the benchmarks without including the apache equivalent. All they test in apache is CGI. So again it's IIS's fastest option versus Apache's slowest option.

    3. Re:Just like the samba benchmark by spuzzzzzzz · · Score: 5, Informative

      In the past I have seen people post blatantly false things which get accepted as true just because the mods are too lazy to check. So I thought I'd chime in here with links to some evidence to back up parent.

      1) The algorithms used in SSL are listed on page 33 of the pdf linked to. Both linux setups use 3DES+SHA1 and windows uses RC4+MD5 (as parent said).

      2) This page (found via google) has a table comparing ciphers about 2/3 of the way down. RC4 appears to be about 2-3 times faster than 3DES.

      3) This email contains a comparison between MD5 and SHA1. MD5 appears to be 2.5 - 5 times faster than SHA1.

      --

      Don't you hate meta-sigs?
    4. Re:Just like the samba benchmark by darkain · · Score: 5, Interesting

      I personally run a windows based server (yes, hate me if you will, but i need some windows only tools at the moment). I used IIS for about 3 to 4 years, until I started to get heavy into PHP development, running a source control system, and game hosting. I switched from IIS to Apache because it had better support for virtualizing directories based off of conditions in easy to setup script files, which made it easy for me to run the UT2004 server, plus mod download server on the same box. This turned out to be a big hit at lan-parties, since the server had all of the packages, and would share directly from the server folders (but restricted the server's config files from anon access). I later switched to SVN for storing my programming projects, and its integration with Apache is great.

      I am a microsft OS user by nature. I switched to using Apache on my Windows server because of features it lacked, and now I'm never turning back.

      "I am Darkain... and I'm a coder"

    5. Re:Just like the samba benchmark by Anonymous Coward · · Score: 5, Informative

      Speaking as someone who has quite some experience in cryptographic algorithms, I back up parent and grand parent. The benchmark is completely biased in that Veritest really ends up comparing 3DES+SHA1 with RC4+MD5. This unacceptable, I invite slashdoters to complain to Veritest:

      Veritest
      1001 Aviation Parkway, Suite 400
      Morrisville, NC 27560
      Tel 919-380-2800
      Fax 919-380-2899
      E-Mail: info@veritest.com
    6. Re:Just like the samba benchmark by jrumney · · Score: 5, Informative
      This report was written in April 2003, according to the first page

      Strange, they have a press release on their website dated April 6, 2005 about the report being commissioned by Microsoft. Either Microsoft got ripped off by recycling an old report, or one of those dates is wrong.

    7. Re:Just like the samba benchmark by zobier · · Score: 5, Insightful

      What someone should do in these kind of tests is get an expert Windows team and an expert GNU/Linux team, identical servers and let them configure them as best as they can. That seems fair.

      --
      Me lost me cookie at the disco.
  2. Easy by green+pizza · · Score: 5, Informative

    Out of the box Apache doesn't do too well. But take some time tuning it, and your OS's TCP/IP stack, and you can easily outperform even Zeus. Read some of the tuning guides.

  3. Ahem... from the Article by Evro · · Score: 5, Informative
    Microsoft Windows Server 2003 vs. Linux
    Competitive File Server Performance
    Comparison


    Test report prepared under contract from Microsoft

    Executive summary
    Microsoft commissioned VeriTest, a
    division of Lionbridge Technologies,
    Inc., to conduct a series of tests
    comparing the File serving
    performance of the following server
    operating system configurations
    running on a variety of server
    hardware and processor
    configurations:


    At least they're up-front about it these days.

    Other Veritest-Microsoft fun:

    http://www.veritest.com/clients/reports/microsoft/
    http://www.microsoft.com/windowsserversystem/facts /analyses/default.mspx
    http://www.gotdotnet.com/team/compare/veritest.asp x - .NET versus Java

    In short, this is a company paid by Microsoft to make reports/whitepapers that make Microsoft look good. Nothing wrong with that as long as everyone's aware

    --
    rooooar
  4. IIS is always faster. by Bug-Y2K · · Score: 5, Funny

    Faster to get infected.
    Faster to get rooted.
    Faster to get used as a warez server.

    Nothing new here.

    1. Re:IIS is always faster. by team99parody · · Score: 5, Informative
      "I assume you've never used IIS 6.0 .... Very very secure, easily arguable moreso than apache."

      You're shooting for a Funny mod, right? The biggest "advancement" in IIS 6 is that instead of IIS 5.X that that ran 100% in user-mode, IIS 6.X runs as a kernel module

      With IIS 6, everything changes. To start with, there's a new piece of kernel mode software: Http.sys. This driver, written by Microsoft, is responsible for receiving all IIS-bound TCP/IP traffic from the TCP/IP stack. Running in kernel mode gives the new driver a huge speed advantage
      Which is a cute trick for gaining performance at the expense of security (kinda like the various Linux kernel-web-servers like khttpd).

      "But why would you believe that? I mean it's not like it's easy to find out.."

      Indeed you are correct that it's not easy to find out. Leading security sites all report that it is NOT more secure as you allege. For example, the current rating of IIS 6report from Secunia, (one of the top couple security companies as opposed to merely your anecdotal rumor:

      "Microsoft Internet Information Services (IIS) 6 with all vendor patches installed and all vendor workarounds applied, is currently affected by one or more Secunia advisories rated Moderately critical
      "
      In contrast, Apache 2.X has the much better rating: "Apache 2.0.x with all vendor patches installed and all vendor workarounds applied, is currently affected by one or more Secunia advisories rated Less critical"
  5. Swings and roundabouts by ricky-road-flats · · Score: 5, Funny

    So does that make SMS on Windows faster than morse code on Linux?

  6. Re:"...the test was commisioned by Microsoft" by august+sun · · Score: 5, Insightful

    Can we please for once be mature about it and look at their methodology objectively? I'll even grant that because it was commisioned by MS a little extra scrutiny is certainly due; but summarily discarding the study simply for this reason is the intellectual equivalent of sticking our fingers in our ears and screaming "lalalalalala" at the top of our lungs.

  7. This is new? by louarnkoz · · Score: 5, Informative

    The web page says it was published May 5, 2004, i.e. a year ago. The report itself is dated from April 2003. The test was done using RH advanced server 2 and Windows 2003 RC2, i.e. a pre-release version. Since then, both RH and Microsoft have published new releases, for example the service pack 1 of Windows 2003. Why is this posted now?

  8. Re:Three hundred percent? by Anonymous Coward · · Score: 5, Insightful

    I like Microsoft, and I like when somebody defends them.

    I've been in IT for about 17 years. I've seen MS destroy "the little guy" time and time again, with thier power and yet with all that power, money and developer base, deliver garbage year after year, to this day.

    Then I compare them with offerings like Mac OS X, the BSD's and Linux and wonder, how on Earth someone can say, "I like Microsoft".

    Seriously now, what is there to like about them?

  9. Re:"...the test was commisioned by Microsoft" by jmv · · Score: 5, Insightful

    The thing with benchmarks is that when they're made by an organisation you can trust, you don't really have to dig the details (and there are always some details you won't see). If I have to dig through everything, I might as well do the benchmark myself! Now, looking at a benchmark sponsored by Microsoft is like reading a study on climate written by an oil company, a study on health by a tobacco company... or even a Linux-Windows benchmark done by RedHat (although I trust RH a bit more than MS).

    The only benchmark by MS which I might trust is one saying Windows is slower and/or worse than Linux. Somehow, I never saw any of those.

  10. Stop whining and help speed up Apache! by Fefe · · Score: 5, Insightful
    It's ridiculous how the Slashdot crowd is falling victim to Pavlov again.

    If someone publishes a benchmark about your software, and finds out your software does not perform well, don't whine, don't behave like a child, don't start kicking and screaming, don't tear his hair out. Behave professionally.

    Good starting points:

    • Does their test setup matter?
    • Can their number possibly be true?
    • What weak spots about the competition does their test reveal?
    • What can we do to improve the results?


    Let me summarize what I think about their test. First of all, I believe their numbers. Apache sucks performance-wise, in particular if you run a busy site with dynamic content. That's why people are using squid in local accelerator mode before Apache. This is a good indication that some performance tuning is in order. But no, people rather wait for Microsoft to find out and then they start thinking about fixing it.

    If this test was meant to be unfair FUD, they would not have tested TUX, just Apache.

    But now to my questions above:

    Question 1: is their setup relevant?

    No. Sites who answer more than 5000 requests per second are not using a single web server, they are using a load balancer and a cluster.

    Question 2: Can their numbers possibly be true?

    The point I find least believable is that IIS had better CGI performance than Apache. Creating a process is really slow on Windows. Their result should be independently verified.

    Question 3: What weak spots about the competition does their test reveal?

    They did not test a single-CPU webserver (which is what almost everyone is using).

    They did not test FastCGI or APAPI dynamic web pages.

    So if we wanted to do a more balanced review, we would look at these.

    Question 4: What can we do to improve the results.

    Document APAPI better, I'd say. Almost nobody is writing their dynamic web page modules with APAPI.
    Everyone is using PHP or mod_perl. Benchmark Apache in real-world scenarios. Document best practices.
  11. Re:How to tell if you are a linux fanatic. by Zontar+The+Mindless · · Score: 5, Insightful

    > 1. You rejuvenate and dance when you hear a windows flaw exposed, but you conveniently ignore the thousands of security flaws exposed in linux.

    "Rejuvenate" means "renew, appear to grow younger". Did you mean "become jubilant"?

    I don't become jubilant when anybody's security flaw is exposed. In the case of Open Source apps, patches are generally available in a couple of days.

    > 2. You yell loudly TROLL! at any person's post or at any person you see posting facts that you do not want to hear about your oh so cool linux.

    No, just the ones that misstate the facts or are attempts at FUD.

    > 3. You know it's a classic case of penis envy, you don't have all the support, software and hardware available for linux and you have to let that anger out somewhere, but you don't have the brains to admit it.

    Um, Linux supports all my hardware just great.

    > 4. You hate windows, hate Microsoft, but race to emulate windows, have programs to run office from within linux, and spend a $300 on a Windows emulator, only Windows fools.

    > I run Linux, Windows, and Solaris machines. I use OpenOffice.org and so have no need for Microsoft Office. But if I did, I could run it using WINE, which I can get for free. Unlike MS Office.

    > 5. You cannot admit that you don't have professional usage of Linux outside server markets.

    I use Linux *professionally* on the desktop.

    > 6. You cannot admit that most of the joe user out there when told that there is linux will respond, what is that?

    Sounds like there's a need for some consciousness-raising, then. Alothugh I've noticed that more and more people -- even Joe Sixpack types -- don't go glassy-eyed when Linux is mentioned these days.

    > 7. You cannot admit that there is no professional printing capabilities in linux.

    I don't have any problems printing from Linux.

    > 8. You cannot admit that you are a masochist (otherwise why would someone spend hours playing with scripts, and recompiling programs that are available for Windows?)

    Well, it did take me about 30 seconds to learn how to type "./configure - make - make install - make clean". Or if I'm feeling lazy, I can just double-click an RPM file icon in Konqueror.

    > 9. You cannot admit that there is no professional desktop publishing done on Linux.

    Sorry, mate, you're talking to someone who does just that for a living.

    > 10. You cannot admit that no one in their right mind would do professional video editing in Linux.

    I honestly don't know about that. But I do know that lots of movies' special effects are being generated these days using Linux-powered render farms.

    > 11. You cannot admit that linux sucks when it comes for gaming/home entertainment or education.

    There are tonnes of educational apps available for Linux -- many of them come with commercial distros. There are still more on the Net. As for games -- if I want to play games, I'll buy an X-Box.

    > 12. You have problems in understanding Windows, and you will blame your own incompetence on Microsoft.

    Over the years, I've used and administered Windows 3.1/95/98/Me/2000 and have no problems doing so. But after just 6 months, I can install, configure, and administer a Linux machine faster and more reliably.

    > 13. You have problems in pointing a clicking, but have no problems in wading through cryptic scripts written by lunatics.

    Pointing and clicking has its place. But there are lots of things that are actually easier via a command line. For instance, I'd much rather run a MySQL server that way than use the GUI tools. Nice thing about Linux and Open Source apps in general is that you've a choice in the matter. If you don't like the command line, don't use the bloody thing.

    > 14. Nothing will get past that shit that fills your head, you will not admit to any facts.

    Can't respond to an assertion that's semantically nil, sorry.

    > 15. Yo

    --
    Il n'y a pas de Planet B.
  12. Re:May not be FUD by _defiant_ · · Score: 5, Informative

    You are mistaken on some Apache concepts and how threads (?used to?) work on Linux.

    This is because for each request, Windows must create a new process (the CGI program), and destroy the process when the request is complete. While the execution time is low, the process management overhead dwarfs the actual page runtime, because Windows doesn't do that sort of thing quickly. This is why CGI has long been blacklistedon Windows systems by good web devs, and this is one reason that Apache 1.x was such a dog on Windows. Apache 1.x creates a new Apache process for each request.

    No.

    Now Linux, on the other hand, creates processes about as fast as it creates threads, which is to say, really damn fast.

    Yes, but only because pthreads does this by creating a new process (that just happens to share some things with its parents, like address space). Ergo, creating threads is just as fast as creating processes because they are nearly the same thing.

    The NPTL in 2.6 might have changed this, but I have not read the docs yet.

    Yet Apache is still back here creating a process or thread for each and every request (note that there are some ways to speed things up. FastCGI comes to mind, but I don't want to get into the gory details that I don't know enough about). This is not the brightest way to do it in terms of performance, but then, Apache appears to have been designed for universality and configurability over raw throughput.

    No, Apache does not create a new process for each request. It creates a pool of child processes which sit waiting for requests. The parent monitors this pool and creates new spare children when too many child processes are busy. This way, most of the time a request comes in there is already a child process sitting idle waiting for work.

    CGI does indeed require forking a new process, but there are already great ways to handle this. mod_perl, mod_php, mod_python all do it by embeding the interpreter inside the server. FastCGI keeps a version of the program running (much like apache does with its spares).

    You are correct in that your description isn't the brightest way to do things. That's why operating system designers solved these problems years ago.

    For static content, again, Apache creates a new process or thread for every request (with some exceptions). If you'll forgive a bit of an oversimplification, it's like writing a program that prints text to the screen. One program calls printf() in a loop. The other program executes a second program which itself displays just one line, and runs that in a loop.

    Again, no. Apache will usually not need to create a new process or thread for every connection. The correct analogy would be the other program spawning the required number of children, and then asking them to all printf at the same time.