Staying Out of Deep Water: Performance Testing Using HTTPD-Test’s Flood

Once you’ve set up your server and users are accessing your Web site, the last thing you want to hear about are performance problems with the site. You can test the system manually, but there are limitations to manual-based testing.One major downside of manual testing (aside from the time investment) is that it doesn’t reveal where the real problem with the site lies. Is it a configuration problem with the server, a problem with some dynamic elements, or a more fundamental network performance issue?The Apache HTTP Project includes a sub-project called HTTPD-Test. As the name suggests, it’s a test suite for Apache and HTTP in general. The suite contains a number of different elements, and this article will focus on the one known as Flood. Flood is so named because it is used to flood an HTTP server with requests to test its response times.Flood uses an XML document with the necessary settings — URLs and optional POST data — to send requests to a given server or range of servers. Flood then measures the time it takes to:

  • Open the socket to the server
  • Write the request
  • Read the response
  • Close the socket

With these four criteria being measured, administrators can identify whether the problem is with the Apache configuration (or any other HTTP server), the sheer load and performance of the hardware, or a network bottleneck.See the full article for details on using Flood with your websites.

Integrating Tomcat with Apache

If you write JavaServer Pages or use Servlets to provide the functionality of your Web site, you’re probably already aware of Tomcat. Tomcat is the Apache Foundation’s reference implementation of the JavaServer Pages and Servlet technologies. Tomcat 3 covers the Servlet 2.2 and JSP 1.1 revisions, while Tomcat 4 covers Servlet 2.3 and JSP 1.2. Tomcat itself is part of the Jakarta Project, which is a suite of Java development tools developed through the Apache foundation.Installing Tomcat itself is relatively easy — download the corresponding installer from the Tomcat pages at Apache, expand the files or run the installer, and then use the corresponding script to start up the Tomcat service. Tomcat has its own built-in HTTP service that handles and services requests from clients. We’ll look at the specific steps later in this article. Read on to find out how we can integrate Tomcat with Apache.

Enabling WebDAV on Apache

There is nothing worse when setting up a website than having to build some complicated method of viewing and updating the information on the site. There are lots of solutions — using a local copy, using a combination of HTTP and FTP tools to download the original and upload the changes and of course the full-blown dynamic/content managed system that provides that nice cuddly front end for you to enter the information into.In order to simplify the way you update websites, WebDAV was invented. Web-based Distributed Authoring and Versioning (WebDAV) uses extensions to the existing HTTP protocol to enable multiple users to manage and modify the files in a remote system. Using suitably enabled clients you can view, open, edit and save files directly into the filesystem of the Web site as it were of a remote website.There are some obvious immediate benefits of this, not least of which the ability to edit the website without jumping through too many hoops, but it’s the inventive use of the technology beyond editing a remote website that has lead to a recent explosion in interest of WebDAV. Nowhere is this explosion more prevalent than in the Mac OS X arena, where the iCal calendar application, provided free by Apple, can publish calendars to a WebDAV server so that other users can subscribe to the calendars and find out what you’re doing. Read on for the full article.