Linux Beats Win2000 In SpecWeb 2000
PraveenS writes: "While not conclusive, the SPEC group released benchmarks for a variety of systems submitted by various manufacturers (i.e. Dell, Compaq, HP, etc...) and tested their Web-serving capability. Two very similar machines from Dell, one loaded with Linux and the other with Win2000 had very different results; Linux beat Win2000 by a factor of almost 3 . Here's a synopsis of the results from LinuxToday. The actual spec benchmarks are available here for Win2000 and here for Linux."
As Marty of LinuxToday puts it, though, "What does this mean? In the real world, probably not as much as it would seem. Benchmarks in general are typically set up in an ideal environment. Real world environments tend to be quite different. However, this does indicate that Linux is moving in the right direction."
Zoran points out that "[o]ther current SPECweb99 results can be found here." They make an interesting comparison.
'TUX' comes from 'Threaded linUX webserver', and is a kernel-space HTTP subsystem. TUX was written by Red Hat and is based on the 2.4 kernel series. TUX is under the GPL and will be released in a couple of weeks. TUX's main goal is to enable high-performance webserving on Linux, and while it's not as feature-full as Apache, TUX is a 'full fledged' HTTP/1.1 webserver supporting HTTP/1.1 persistent (keepalive) connections, pipelining, CGI execution, logging, virtual hosting, various forms of modules, and many other webserver features. TUX modules can be user-space or kernel-space.
The SPECweb99 test was done with a user-space module, the source code can be found
here. We expect TUX to be integrated into Apache 2.0 or 3.0, as TUX's user-space kernel-space API is capable of supporting a mixed Apache/TUX webspace.
TUX uses a 'object cache' which is much more than a simple 'static cache'. TUX objects can be freely embedded in other web replies, and can be used by modules, including CGIs. You can 'mix' dynamically generated and static content freely.
While written by Red Hat, TUX relies on many scalability advances in the 2.4 kernel done also by kernel hackers from SuSE, Mandrake and the Linux Community as a whole. TUX is not one single piece of technology, rather a final product that 'connects the dots' and proves the scalability of Linux's high end features. I'd especially like to highlight the role of extreme TCP/IP networking scalability in 2.4, which was a many months effort lead by David Miller and Alexey Kuznetsov. We'd also like to acknowledge the pioneering role of khttpd - while TUX is independent of khttpd, it was an important experiment we learned alot from.
Other 2.4 kernel advances TUX uses are: async networking and disk IO, wake-one scheduling, interrupt binding, process affinity (not yet merged patch), per-CPU allocation pools (not yet merged patch), big file support (the TUX logfile can get bigger than 5GB during SPECweb99 runs), highmem support, various VFS enhancements (thanks Al Viro), the new IO-scheduler done by SuSE folks, buffer/pagecache scalability and many many other Linux features.
For Linux they set the backlog at 3000. For W2k it's at 1000. Anyone see the difference? AFAIK, W2k can have a higher backlog, or even a dynamic backlog. I'd like to see a test where the backlogs are the same. Then there would actually be similar simultaneous connection counts! Right now, those numbers mean little if they are being compared.
For instance, on the Windows side you might have an 8 way xeon with 2 gigs of RAM. On the Linux side you might have (for instance) an S390 with a terabyte or two of RAM. Then just start loading them down with network clients until they start to stagger.
I'd be interested in the oucome...
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
You are confusing two completely different architectural concepts.
"threads" (which get created) and "processes" (which get forked) are 'context of execution' entities. Linux has both, TUX 1.0 uses both.
A "threaded TCP/IP stack" is a slightly mis-named thing, it means "SMP-threaded TCP/IP-stack", which in turn means that the TCP/IP stack has been "SMP-deserialized" (in Windows speak) - TCP/IP code on different CPUs can execute in parallel without any interlock/big-kernel-lock overhead or other serialization.
A 'threaded TCP/IP stack' has no connection whatsoever to a 'threads'.
FYI, the Linux TCP/IP stack was completely redesigned and deserialized during the 2.3 kernel cycle, this redesign/deserialization was done by David Miller and Alexey Kuznetsov. The TUX webserver of course relies on the deserialization heavily, but this is not the only architectural element TUX relies on.
I thought about talking about this, but I'd have to use my experience and that is fairly subjective. I'm curious what do you think the difference in human costs are? Lets see, take 30 minutes to install/configure Redhat, Take 10 minutes to install the latest updates, 5 minutes to disable services that are not needed and block the outside world from anything except 80 and 22, 10 minutes to install openssh, 5 minutes to load an existing website on the machine. Reboot the machine just to make sure and you're all set.
Looks like about an hour to me. Maybe an hour and a half if you want samba and frontpage extentions installed.
Just for kicks, lets take a look at NT.
When I installed it yesterday it took about the same about of time to install as redhat, so lets figure 30 minutes. Configure for network and reboot 5 minutes, Setup IIS 15 minutes, add webpage to IIS 5 minutes. Reboot the machine just to make sure.
Ok looks like a total of 55 minutes. Great, MS just saved you 5 or 35 minutes depending on what you're looking for. Is it really worth a few hundred dollars, if not more for an MS webserver if you really don't need one?
Also, with the linux box, I can ssh in and fix things remotely, I don't even have to be there to apply a patch when it comes out. As a consultant I find that very appealing. I just scp a file over, install it, restart the service and I'm set. NT I actually have to be there, when some of my clients are almost 2 hours away, I'd much prefer the linux method.
From http://www.spec.org/osg/web99/:
It certainly looks like they are testing Dynamic content as well as static. Check out http://www.spec.org/osg/web99/results/ api-src/ for the source for the dynamic content.
the good ground has been paved over by suicidal maniacs
I'd use Linux if Windows was 200% faster..
A faster Windows still locks me into it's
stupid upgrade treadmill... Benchmark
results are just statistics.. and as you
know, there are "Lies, Damn Lies, and Statistics".
You can't just jump up and down when Linux
beats Windows on a benchmark. Then you're
setting yourself up to hang your head when
Linux loses one every now and then (Mindcraft)..
In so doing, you're missing the point:
The speed, usability, or even stability of
free software is not the driving force behind
its existence, It's the FREEDOM!
On Independence Day, of all days, you lose
sight of this? I'm so tired of these benchmarks.
-- The Funk, The Whole Funk, And Nothing But The Funk
When the Mindcraft benchmarks came out, every Linux zealot screamed and cried that there were problems with the benchmark. They were right. Some sensible people pointed out something interesting I remember..
They said that when someone performs a benchmark in the future and it shows Linux outperforming Windows NT or 2000 by a sizeable margin, the Linux zealots will claim that THIS benchmark is the correct one and Mindcraft will be PROVEN wrong.
This post seems to me like exactly that behavior. Mindcraft doesn't tune Linux the right way and WinNT trounces it. Linux zealots scream bloody murder and inspect the process with a microscope. Someone else does a benchmark that shows Linux 3 times faster than Win 2k, and they are content that the Mindcraft fiasco has been avenged.
Take a look at yourselves. I'm not a Linux lover. I think it has a long long way to go before the mainstream starts to take it seriously. There are so many problems with it right now..installing programs, removing them, x windows interface complexity, simple text editors..the list goes on. Honestly, I don't think it will ever become mainstream - it will get replaced by something else that will before long.
I don't love Windows either. There are of course many problems with it. However, it's not the spawn of Satan and Linux is not the Great Hope or messiah.
Be objective, people. Please. You'll do your "cause" some good.
The two major distinctions between these benchmarks and the unjustly-maligned Mindcraft benchmark that were later confirmed by PC Labs:
1) these tests compare Win2k to Linux. By contrast, the Mindcraft study compared WinNT4.0 to Linux.
2) in the "Operating System" column of the Linux boxes, we see a revealing note:
Operating System: Red Hat Linux 6.2 Threaded Web Server Add-On
It seems as though RHAT has taken the trouble to render its TCP/IP stack into a multi-threaded model, rather than the forked model I understand it used to be. This was identified as the primary deficiency in the previous benchmarks.
At the time, Linux afficianados claimed that the superiority would be short lived. Assuming these stats are otherwise legit, it seems as though they were right, and in such a brief period of time as well. I'm impressed! Keep pumping out impressive turn-arounds like this one, and very soon commercial entities will have to give open source its just props as a development model.
I am slightly curious whether this "web server add-on" is available to consumers, and also whether it is a fully-featured web server. If not, and this is just a hack, that might cast a pall of illegitimacy. Anyone have the inside scoop?
-konstant
Yes! We are all individuals! I'm not!
-konstant
Yes! We are all individuals! I'm not!