Web serving revolution

Last year, however, a study by MindCraft (www.mindcraft.com) suggested that Apache's performance in serving static HTML pages (those which are not generated by databases and server side applications) rated very poorly. The finger was pointed not only at the Apache server, but at the Linux operating system. Questions were raised in the industry as to the nature of MindCraft's ties with companies which may be threatened by the success of the Linux/Apache combination in the Web world. Regardless of this, closer examination did reveal problems with the way the Linux operating system handles large numbers of small requests on a network, and with Apache's performance serving model.

This examination led to a lot of work on the Linux networking core, as well as work commencing on a new kind of Web server. The result of these efforts is apparent in the up-and-coming Linux 2.4 release: not only does Linux now offer much faster networking, it also offers the ability to run a kernel-level Web server.

Kernel level

The Tux Web server has been one of the most successful projects to come from the work on Linux and Web serving. Whereas Apache is designed to run as an application, Tux is integrated into the operating system, making its performance more efficient. The reason is that it can access system resources faster because it does not have to interact with the operating system to the extent that Apache does.

Some would say that a Web server should stay an application and not encroach upon the kernel. Critics of the Linux movement go further, aligning the integration of a Web server with an operating system with the integration of a Web browser with an operating system, as was the case with Windows 98, which sparked anti-trust cases in the US and Europe against Microsoft.

The difference with Tux, and the other kernel-level Web servers (such as khttpd), is that you don't have to use them. In fact, you have to go to some effort (see below) to use them by default.

Tux 1.0

The recently released Tux 1.0 server boasts commercial quality Web serving designed to tie in with Linux 2.4 (Tux 1.0 and a 2.4 test kernel have been included on this month's CD). Recognising problems with Apache's static serving model, the Standard Performance Evaluation Corporation (SPEC) and Dell decided to use Tux 1.0 to benchmark Linux Web serving capabilities (the results can be viewed at: www.spec.org/osg/web99/results/res2000q3/web9920000710-00057.html). The Dell server had eight Intel Xeon CPUs with 32GB of RAM. Using the same benchmarking tools, SPEC found that an IBM pSeries eServer boasting 64GB of RAM, 12 64-bit CPUs and a super fast data bus which was not running Tux 1.0 performed only 12 per cent faster. Considering the Dell hardware was seriously outmatched by IBM's offering, one can be sure that Tux 1.0 offers what may be among the best performance available in the Web server industry.

Installing

Tux 1.0 is developed by Red Hat, and, in testing the software, I found that it is complicated to install on non-Red Hat systems. As such, unless you are confident with command-line fiddling under Linux, I would recommend using a Red Hat system to test Tux 1.0.

To install Tux 1.0, you will need to install the 2.4 release kernel included on the cover CD. Follow the CD instructions on the installation of each package and then reboot. On completion of installation, you will be running what is effectively Linux 2.4, ready to get a kernel Web server up and running.

Setup

If you have looked around your Linux system, you will be familiar with the /proc file system. This file system offers a means of directly interacting with the kernel. /proc is used to setup Tux 1.0.

At the command line, run the following:

modprobe tux

echo 8080 > /proc/sys/net/http/clientport

echo 80 > /proc/sys/net/http/serverport

echo /home/www > /proc/sys/net/http/documentroot

echo 1 > /proc/sys/net/http/threads

echo 1 > /proc/sys/net/http/logging

echo php3 > /proc/sys/net/http/dynamic

tux 1 /home/www

The first line loads the Tux 1.0 module; the second sets the dynamic Web server port to 8080 (you can use Apache with Tux 1.0 to serve dynamic content by changing the Apache port number to 8080 in the httpd.conf con-figuration file); the third line sets the Tux 1.0 Web port; the fourth line sets the location of the Web pages for serving, here /home/www; the fifth to seventh lines turn on features threading, logging and PHP dynamic web pages; and, the final line starts the Web server with 1 thread and a document root of /home/www.

Conclusion

Tux 1.0 offers a simple in-road to the power of Linux 2.4 with a different means of Web page serving. The limitations of Tux 1.0 - it is complicated to install on non-Red Hat systems and requires a secondary Web server like Apache to serve dynamic content - do not undermine its power and efficiency. Tux addresses a hole in open source Web serving and offers to open source users and businesses alike a stable and fast Web server of commercial quality.

Join the newsletter!

Error: Please check your email address.
Rocket to Success - Your 10 Tips for Smarter ERP System Selection
Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Gavin Sherry

PC World
Show Comments

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Sarah Ieroianni

Brother QL-820NWB Professional Label Printer

The print quality also does not disappoint, it’s clear, bold, doesn’t smudge and the text is perfectly sized.

Ratchada Dunn

Sharp PN-40TC1 Huddle Board

The Huddle Board’s built in program; Sharp Touch Viewing software allows us to easily manipulate and edit our documents (jpegs and PDFs) all at the same time on the dashboard.

George Khoury

Sharp PN-40TC1 Huddle Board

The biggest perks for me would be that it comes with easy to use and comprehensive programs that make the collaboration process a whole lot more intuitive and organic

David Coyle

Brother PocketJet PJ-773 A4 Portable Thermal Printer

I rate the printer as a 5 out of 5 stars as it has been able to fit seamlessly into my busy and mobile lifestyle.

Kurt Hegetschweiler

Brother PocketJet PJ-773 A4 Portable Thermal Printer

It’s perfect for mobile workers. Just take it out — it’s small enough to sit anywhere — turn it on, load a sheet of paper, and start printing.

Matthew Stivala

HP OfficeJet 250 Mobile Printer

The HP OfficeJet 250 Mobile Printer is a great device that fits perfectly into my fast paced and mobile lifestyle. My first impression of the printer itself was how incredibly compact and sleek the device was.

Featured Content

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?