Many improvements have been made in the Linux 2.6 kernel to favor enterprise applications. This article presents results from the IBM Linux Technology Center’s Web serving testing efforts, comparing the Linux 2.4 and 2.6 kernels from various aspects. The highlights here are the key enhancements in the 2.6 kernel, the test methodologies, and the results of the tests themselves. Bottom line: the 2.6 kernel is much faster than 2.4 for serving Web pages, with no loss in reliability.
Kernel comparison: Web serving on 2.4 and 2.6
Submitted by Frank 2004-02-11 Linux 17 Comments
I’m sure those of us who are using the 2.6 series (i’m on 2.6.2 myself ) have known this for a while. If you haven’t done so already, I recommend upgrading, especially those of you still on 2.4.21/2.4.22 (you know who you are )
I’m not really in the know so bear with me…
In the future, are multiprocessor configurations likely to be more common for average people? Do user applications, or games benefit from multiprocessor systems? If Moore’s law hits a wall, will pc makers adopt multiprocessor systems.
Perhaps the enhancements for high-end systems in 2.6 will trickle beyond web server use.
Did anyone find the benchmark code they were using. I’d like to benchmark Linux 2.6+NPTL against FreeBSD-CURRENT ULE/KSE.
Did you look at the resources section at the end of the article?
I wouldn’t be upgrading just yet if your planning on putting it in a production enviroment, if you look at the changelog for the 2.6 kernels you will see despite it’s stable category, it’s still being changed around. I would wait until .5 – .10 before starting to use it. A desktop could use it though, it’s quite faster than 2.4.
It seems with SMT (such as Intel’s HyperThreading Pentium 4’s) that multi-processing in some form or another is becoming increasingly norm, also the Power4’s dual-core versions. I imagine over time this will all trickle down and become as normal as a floating-point unit is now (which was once optional, if offered at all). The main benefit as a desktop/workstation user is an increased boost in responsiveness.
I’ve done SMP on my home systems since the Abit BP6 allowed you to use dual Celerons, and my current machines are a dual Athlon and a dual G5 box and with a supporting OS (Win NT 4.0 and higher, Linux 2.2 and higher, FreeBSD 3.x and higher, Mac OS X on a Mac, BeOS, etc) you should simply be able to run more stuff at once while the system remains responsive. The sort of tasks that would bring a single proc box to its knees a system with spare CPUs will handle in stride.
Even if the apps are not themselves multithreaded to take direct use of SMP, you will still have a better all in all experience /if/ you do heavy multitasking. If your the sort of user who simply listens to MP3s, chats with friends, does light web browsing and email then you won’t feel the difference at all. But I notice it right off. I can launch a large app in Windows, minize, and continue reading a webpage with it stuttering while I try and scroll it – my single proc machine at work will freak if I do that, and responsiveness can be lacking. If your a un*x user of some sort and compile lots of apps then you could have something compile in the background while the spare CPU does whatever else you want. In Windows NT and higher you can “bond” a task to a specific CPU if you so wish, open up Task Manager, click on Processes, right click on the process you want, and select Afinity. Spiffy stuff.
Lots of modern apps, however, are multi-threaded and can take more direct use of more then one CPU. Games, to my knowledge, are rarely threaded – correct me if I’m wrong. I love SMP machines and will never buy a desktop without if I can help it, but my parents wouldn’t tell the difference. You could be compiling a large app in one terminal, rip a CD, run SETI@Home, and browse the web while listening to your music without a hiccup – and I like that. Great stuff. Beyond that if you run various high end apps or do big number crunching you can feel the difference, compiling apps with gcc and the -j3 tag can greatly speed up compiles too (where 3 is the number of threads, if you had four CPUs you’d want at least four threads).
I’m wondering what improvement I would see on a 2-way 2.8GHz system. I’m already seeing 4 virtual processors with a stock 2.4.22 kernel (Debian)… the article seems to suggest this is new.
It isn’t brand new in 2.6, it was introduced in 2.4 in one of the more recent releases.
Good article, also the book by Robert Love, Linux Kernel Development, which covers kernel 2.6 goes over these enhancements to 2.6 in detail.
8 way SMP computer.
Well, that is not exactly Linux mainstream platform…
Isn’t that article an advertisement for IBM xSeries servers ?
No, its not normal but I think its very comforting and cool to know that on such hardware Linux now scales much better then before. Great stuff for all of us, and for marketing material too. 🙂 PHB’s would take notice, even if they don’t use such hardware.
“It seems with SMT (such as Intel’s HyperThreading Pentium 4’s) that multi-processing in some form or another is becoming increasingly norm, also the Power4’s dual-core versions. I imagine over time this will all trickle down and become as normal as a floating-point unit is now (which was once optional, if offered at all). The main benefit as a desktop/workstation user is an increased boost in responsiveness. ”
Most likely because it’s a relatively cheap way to get around the “Mhz wall”. Processors are getting faster, but it’s hard keeping the heat and power consumption down. Trickle down from high-end machines to the desktop. We may see more Mainframe/high-end server technology coming down the pike.
that 2.6x+Apache will now spank IIS on any win platform by two or three times now? IIRC, IIS was only moderately faster than Apache+Linux, and those were mostly on corner cases.
Correct me if I’m wrong, but I think this squarely places 2.6.x-Linux + old-slow-n-reliable-Apache, head-n-shoulders, way in front of IIS on any Win platform.
Nevertheless, SunONE still permorms better than Apache+GNU/Linux on x86. Hey its no flames! its a fact =)
it might well be true but you got to provide more data and links otherwise its just your opinion. apache powers almost 70% of the web is widely aclaimed to be better than competition mainly IIS. I havent used sunone so if you could provide some links that would be nice
I don’t know nothing about SunONE…
But everybody, please, remember that one of the last goals of Apache is to be fast… the main goal is just to be a correct web server, a web server that just works fine.
Not neccesarily… Win + IIS claims to be faster just because they have part of the web server integrated into the kernel.
To be fair in this matter, you will have to configure Apache to make it work with TUX: The Linux Kernel Web Server!
TUX is amazingly fast, it’s about 5 o 6 times faster than Apache, it also uses way! less memory… I’m sure that IIS is not that fast than Apache/TUX.
Right now I’m Developing/Maintaining a large enterprise web application using Apache, TUX, PHP, Oracle. TUX handles the static content and Apache handles the dynamic content.
Right now we have about 600 users, an average concurrency of 25 dynamic requests per second and the app speed is just fast, very fast. All this using the 2.4 kernel.
Note: Total requests = four times dynamic requests
I can’t wait to try 2.6 on the production machine 😉
BTW, does any one know if TUX is going to be ported to the 2.6 kernel??