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

Cool Tech

Breitling Superocean Heritage Chronographe 44

Learn more >

SanDisk MicroSDXC™ for Nintendo® Switch™

Learn more >

Toys for Boys

Family Friendly

Panasonic 4K UHD Blu-Ray Player and Full HD Recorder with Netflix - UBT1GL-K

Learn more >

Stocking Stuffer

Razer DeathAdder Expert Ergonomic Gaming Mouse

Learn more >

Christmas Gift Guide

Click for more ›

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Edwina Hargreaves

WD My Cloud Home

I would recommend this device for families and small businesses who want one safe place to store all their important digital content and a way to easily share it with friends, family, business partners, or customers.

Walid Mikhael

Brother QL-820NWB Professional Label Printer

It’s easy to set up, it’s compact and quiet when printing and to top if off, the print quality is excellent. This is hands down the best printer I’ve used for printing labels.

Ben Ramsden

Sharp PN-40TC1 Huddle Board

Brainstorming, innovation, problem solving, and negotiation have all become much more productive and valuable if people can easily collaborate in real time with minimal friction.

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

Featured Content

Product Launch Showcase

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?