|[Home] [Credit Search] [Category Browser] [Staff Roll Call]||The LINUX.COM Article Archive|
|Originally Published: Monday, 5 February 2001||Author: Matt Michie|
|Published to: featured_articles/Featured Articles||Page: 1/1 - [Std View]|
Kernel 2.4 Ascends the Server
Linux Kernel 2.4 was seemingly written with the server in mind. Many of the old limits which prevented Linux adoption in the "enterprise" market have now been lifted.
Linux Kernel 2.4 was seemingly written with the server in mind. Many of the old limits which prevented Linux adoption in the "enterprise" market have been lifted. Performance problems highlighted by the infamous Mindcraft Benchmark have been removed. More file systems and partitions types are supported, even NFS has been moderately improved. SMB support has continued to rock with the help of the SAMBA team.
One important feature important to many database admins, is the removal of the 2 gigabyte file size limit. It is harder to pin down many other limits, as they vary based on the architecture the kernel is running on. For instance, under the Intel platform, Linux 2.4 now supports up to 64 gigabytes of RAM. Process and user ID limits have also been raised.
Logical Volume Management (LVM) support is now available with the latest kernels. With LVM, an extra abstraction layer is added to file system management, allowing "virtual partitions" or a logical volume to be dynamically created and re-sized. If you've ever been a system administrator who has suddenly found that the partition you created for /home is now too small, LVM is for you. LVM is a defacto UNIX standard, and with 2.4, Linux grows up in the eyes of many seasoned admins.
It is increasingly common to have parallel architectures for servers. With each revision, Linux has scaled better with SMP. 2.4 takes this to a new dimension, allowing scaling up to 16 processors. Scaling beyond 16 processors was possible, but this would have hampered performance on a single processor system. Perhaps future custom enterprise kernels will remove this limit.
One of the fallouts of the Mindcraft benchmark was the increased threading of the TCP/IP stack. NT easily clobbered Linux in this benchmark, because NT's stack was able to better handle the multiple Ethernet cards and CPUs. Most of the "big locks" in the kernel have now been removed, increasing performance. For now, even FreeBSD's TCP/IP stack is not as multi-threaded as Linux's. A sendfile() implementation also found its way into the kernel, also improving server speeds.
The other fallout from Mindcraft was the inclusion of a kernel level HTTPD daemon. Many critics complained of Microsoft like bloat, but eventually the extremely stripped down kernel daemon was included as an optional component. Once compiled into the kernel, it allows serving of static content and images extremely quickly. For anything more complicated, it passes through to a standard Apache web server, or another server of your choice.
With these new improvements and another kernel level web daemon called Tux, Linux dished out these impressive SpecWeb99 benchmarks:
|Dell PowerEdge 4400/800||1060||IIS5.0|
|Dell PowerEdge 4400/800||2200||TUX1.0|
Linux's fire-walling code has also been completely rewritten. Though it is completely backward compatible with the past two revisions, the new iptables code brings Linux into the next level. Linux can now do stateful inspection of packets.
Ultimately, this will allow the creation of simpler fire walling rules, which increases security. It will also do rate limiting, MAC filtering, improved packet logging and more. It will also allow you write rules in the older ipchains and even ipfwadm format.
Other enhancements, such as improved memory management, performance tweaks, driver additions, bug fixes, better 64-bit support and mainframe ports make Linux quite a contender in the server arena. It is becoming increasingly difficult to justify spending thousands of dollars for software, when Linux can be downloaded free from the Internet. It's clear that Linux has ascended onto many servers and will continue to climb higher as the kernel continues to improve.