Dressed To Thrill

Our resident penguin-head has just tried on Linux 2.4. Is it the equivalent of a new Armani?

Do you want to look good—i mean Ricky Martin- or Jennifer Lopez-good—to your enterprise customers? Then try on Linux 2.4, the new look of enterprise operating systems.

In the past, weve found that Linux makes an outstanding Web or file server. On the Web, armed with the Apache Web server, Linux 2.2.x machines have long stood with the BSD servers as the best, least expensive Web servers. In offices, powered by the Samba server message block (SMB) service, Linux makes for a fine Windows-compatible file server.

Linux 2.4, however, is ready for more—much more—with its enterprise-class features, including major-league symmetric multiprocessing (SMP), multithreaded networking with improved CPU performance, improved memory handling, logical volume management, better handling of RAID drives, and a kernel-level Web daemon. Put them together and you not only have a great Web server and departmental file server, you also have a server capable of enterprise services from massive database engines to enterprisewide file serving.

Same Size, Better Fit While Linuxs memory requirements havent expanded—you can still run Linux in 32MB of RAM—2.4 can handle the kind of resources that an enterprise server needs.

Starting from the top, SMP has long been in Linux, but, despite Linux fans claims, its never worked well enough for 24 x 7 business purposes. Things have changed. Now you can smoothly run up to 64 processors in a single box.

Networking also has been significantly improved. Here, theres been no single, big advance but several important steps forward that put Linux networking on par with BSD, the current champion of network operating systems.

First among the improvements is the "wake-one" approach to handling network socket events. With Linux 2.2, when you had multiple processes waiting for a network event, each one would get a few microseconds of processor time to see if the event was for them. That made network responses slower than they had to be. Under Linux 2.4, only one process is awakened at a time. The end result is snappier Web and ftp server performance, as well as other network service performance.

Network performance in general also has been tuned up, thanks to a complete rewriting of the network layer. In addition to being multithreaded, the whole system has been cleaned up. In particular, Linux 2.4 networking will be much more stable on SMP boxes and can handle far more network interfaces per system.

The kernel-level Web server daemon, khttpd, also helps Web server performance. It is not, however, a replacement for Apache or any other Web server. Khttpd does nothing but pass along static data to Web users. For anything else, dynamic data or common gateway interface (CGI) requests, khttpd passes the requests along to the Web server. For all intents and purposes, khttpd gives a performance kick in the pants to any Web server dealing with static information like plain HTML pages and images.

Letting Out the Seams Of course, to give all of those fast new network requests, you need more RAM and drive space. Linux 2.4 gives you that in spades. You now can address up to 32GB of RAM with 32-bit processors, and up to 64GB with 64-bit processors. Whether youve got big databases or thousands of users, the new Linux has got the addressable RAM to handle your needs.

Disk and file performance also has been dramatically improved. Underneath the hood, the IDE, SCSI and RAID interfaces have been cleaned up and revised, and can support more drives and controllers per system. The big news, though, is the logical volume manager (LVM).

An old enterprise Unix trick, LVM lets you span and manage file systems across disks, whether theyre local or remote. On top of that, Linux 2.4 enables Large File Support (LFS) and database and system administrators to have database or log files as large as a mind-boggling 16TB. Yes, Betty, thats terabytes.

Linux also does a much better job of handling any file input/output these days. The new virtual file system has been revised to use only a single cache, instead of separate read and write caches. That zaps several time-wasting bugs and reduces cache demands.

You sew it all up, and youve got yourself a Linux thats almost as scalable as such heavyweight operating systems as AIX and Solaris. Of course, while you can argue until youre blue in the face over just how they compare, Linux does have one clear advantage: Its much less expensive than any of its commercial competitors. Scalable and inexpensive? Sounds good to us.

Linux 2.4s Cut and Finish But will you wear it well? Based on our tests, the answer is an unequivocal yes. Linux 2.4 works better and faster on both single-processor and SMP servers than does Linux 2.2.17. And, within our limited test facilities, it works faster than NT or W2K on minimum configuration systems and keeps pace with W2K in light-load situations.

For low-end server testing, we used Dell 233MHz servers with 64MB of RAM and a 4GB IDE disk drive. An Intel EtherExpress Pro 100B network interface card connected the server to our client network, which is driven by a Synoptics 28115 Fast Ethernet switch. We ran all of the tests at a network speed of 100Mbps. For higher-end SMP server testing, we deployed a Dell PowerEdge 1300 with dual Pentium III 500MHz CPUs and 512MB of RAM.

For file serving, each Linux box ran the Samba 2.07 file server and Apache 1.3.14. On the Windows side, we used W2K Server SP1 and NT 4 SP6a with IIS 4.0.

For every test, we performed a fresh install of the operating system. We let the operating system decide the default disk configuration in each case and made no tuning whatsoever. Clients were a mix of 32 Pentium systems (90MHz to 233MHz) running Windows 9x, representing a real-world sample of client PCs. Each client ran WebBench 4.0 tests to measure Web server performance and NetBench 7 for SMB. Both benchmarks are available from Ziff Daviss eTesting Labs (www.etestinglabs.com).

While our test bed was insufficient to give Linux 2.4 or W2K a proper workout, some things were clear. The first, as we found in our earlier Linux benchmarks, is that if you have old, slow servers, Linux, especially 2.4, is the operating system for you. While the new version will be best known for enabling more powerful servers, its new network process handling made it significantly (10-plus percent) faster on the older machines than its competitors. On the more high-end server, Linux 2.4 ran faster still than NT or Linux 2.2.17 (15-plus percent), but W2K kept pace with it stride-by- stride.

Only testing on large-scale test beds will be able to tell if Linux 2.4 can keep up with W2K Server in enterprise deployments. We think Linux 2.4 shows every sign of being ready and able to handle enterprise services against not just the likes of W2K, but Solaris and HP-UX, as well.

More Tailoring Needed If youre a Linux guru, you dont need to bother with this. But, if youre just getting into the Linux business, there are things you must know before upgrading any customers systems.

Linux 2.4 is a major release with changes to both the application programming interfaces (API) and the Device Filesystem (devfs). What the API changes mean to you is that many programs that make certain assumptions about how the kernel is going to work, like older Point-to-Point Protocol daemons, will break. No ifs, ands or buts. If you dont know the source code well, bone up on the kernels Changes document backward and forward.

The new devfs changes the names of all system device nodes. There is a backward-compatibility layer available if you want to stick with the old way of doing things, but you must decide to do this before you compile the new kernel.

What all of that means is, if youre not up to wrestling with the source, you should wait for the Linux vendors to issue their distributions. The next generation of Caldera, Red Hat or what-have-you Linuxes will come with all of the appropriate patches to run your customers Linux software.