Linux Web Servers
When choosing a Web server, you must ask quite a few questions from various viewpoints. Developers need to know about support for development languages and APIs; administrators want to know about configuration, management and logging options; and the security folks will want to know about user-authentication models. Others may be concerned with the Web server's ability to manage bandwidth and do load-balancing, or what built-in search engine support is provided.
All these facets are important, and since the choice of a Web server is, or at least should be, a collaborative effort among several disparate teams, we took a hard look at these areas as we evaluated Linux-based Web servers.
After loading up a six-processor Hewlett-Packard NetServer LH 6000 with Linux (Kernel 2.2 ) in our partner labs at Schneider National, in Green Bay, Wis., we got down to the business of installing and testing each of the Web servers in our review.
We looked at the ease of installation and configuration of each server as well as some of the default options, such as the maximum number of concurrent and persistent connections, resident in each product and found that most Web servers are distributed with the expectation of low traffic. We examined in detail the options available for customization of content, such as custom HTTP headers, document footers and error messages.
Then we looked closely at the user-authentication methods available. While support for basic authentication is universal, only a few of the products provide integration with LDAP, certificate servers or client certificate-based authentication. In conjunction with the ability to authenticate users in general comes the capability to secure directories, files and in some cases particular pieces of a single page. Support of the former is extensive, but the latter is difficult to find.
We moved our examination to server-side languages and found a wide array of support for common -- and uncommon -- development paradigms. From XML to XSLT to Java, PHP and standard CGI, each product offers different support out of the box. Several products proved capable of supporting additional languages; they merely had to be configured or, in some cases, recompiled.
Last but not least, we took a look at the general performance of each product. We loaded up 2,000 clients using RadView Software's WebLoad 4.51 and beat the snot out of each Web server, testing not only the number of gets per second each could support but also its caching facilities. We performed multiple tests using two different size files, one containing a combination of 4 KB of text and images and another with 10 KB of text and images, and then analyzed the results. We found that some of the products required extensive performance tuning while others were ready to go with only minor modifications.
WebLoad 4.51, RadView Software. www.radview.com/products/webload4.5.asp