Web site benchmarking articles at this site use a standard configuration for all tests. The test web server runs on a Mac with Apache, PHP, eAccelerator, and Drupal. Test tools include Apache Bench, Top, Charles, and Firefox with several extensions. Two Drupal test sites use default and loaded configurations with automatically generated sample content.
Table of Contents
Benchmarking tools
Charles 2.6.1 is used as a proxy server to monitor traffic and artificially throttle speeds down to the equivalent of a cable modem. This enables tests where cable modem bandwidth would affect page load times (such as file compression tests) without doing the testing over a real cable modem, which runs into unpredictable speed variations due to competing network traffic.
Firefox 2.0.0.1 is used for web browser testing. Several add-ons are used to collect information. Cache Status 0.7.1 reports on the browser’s cache usage. Charles Autoconfiguration 2.5 adjusts Firefox to use the Charles proxy server. Web Developer 1.0.2 provides a wealth of information about page content, HTTP response headers, and so forth.
The Web-Sniffer.net site provides a free service that shows HTTP response headers. The WebSiteOptimizer.com site provides a service that loads everything in a page and estimates load times for different connection speeds.
Server configuration
The web server is an old Mac used exclusively for server tasks. While sluggish for interactive use, it is sufficient for light web serving and for performance tests that compare web site configurations.
Computer Mac G4 CPU 533 MHz PowerPC RAM 1.5 Gbytes OS Mac OS X 10.4.8 (Tiger) Web server Apache 1.3.33 Database MySQL 5.0.27-max PHP PHP 5.2.0 PHP script cache eAccelerator 0.9.5 Content management system Drupal 5.1
Drupal configuration
Benchmarks use two web sites with different features enabled. The “Simple” site is a default installation of Drupal 5.1, which includes only a handful of enabled modules and a basic page layout. The “Complex” site is a Drupal 5.1 installation plus several of the most popular contributed modules installed. The “Complex” site has a lot of enabled features and a complex page layout.
Enabled modules for “Simple” and “Complex” test sites:
Module Simple Complex Core required modules Block yes yes Filter yes yes Node yes yes System yes yes User yes yes Watchdog yes yes Core optional modules Aggregator yes Blog yes Blog API Book yes Color yes yes Comment yes yes Contact yes Drupal Forum yes Help yes yes Legacy Locale yes Menu yes yes Path yes Ping Poll yes Profile yes Search yes Statistics yes Taxonomy yes yes Throttle yes Tracker yes Upload yes Contributed modules CCK content yes CCK content copy yes CCK date field yes CCK field group yes CCK image field yes CCK link field yes CCK node reference field yes CCK number field yes CCK option widgets yes CCK text field yes CCK user reference field yes Devel yes Devel node access Devel macro FCKeditor yes Image yes Image attach yes Image cache yes Image gallery yes Node keywords yes Pathauto yes Spam yes Tagadelic yes Taxonomy access control yes Taxonomy context yes Views yes Views bonus pack yes Views rss yes Views theme wizard Views ui yes Voting api yes Voting api actions
Simple site
The “Simple” site uses default settings for all modules, with the following exceptions:
- User management:
- Only site administrators can create accounts.
- Anonymous visitors can view all content and create comments.
- Site building:
- No primary or secondary links menu.
The “Simple” site’s page layout includes the navigation menu and user login blocks, and uses the default blue color scheme of the “Garland” theme.
Complex site
The “Complex” site also uses default settings, with the following exceptions:
- User management:
- Only site administrators can create accounts.
- Anonymous visitors can view all content and create comments.
- Site building:
- No primary or secondary links menu.
- Site configuration:
- Throttle on 20 or more anonymous or authenticated users.
- Clean URLs.
- Automatic URL aliases generated by pathauto.
- Taxonomy-based breadcrumbs enabled on all content types except books.
- Content management:
- Image and file attachments enabled for all content types except Image.
- FCKeditor available in a popup window.
- Voting is enabled on all content types except Page and Poll.
The “Complex” site includes a test content type created using CCK. This “testcck” type includes a title and body as well as one of each of the CCK field types in the installation: date (date and date stamp), image, link, node reference, number (integer and decimal), text, and user reference.
The “Complex” site‘s layout includes multiple blocks on the left and right, and a custom color scheme with the “Garland” theme.
- Header:
- Search form
- Left sidebar:
- User login
- Navigation menu
- Who's online
- Most recent poll
- Right sidebar:
- Tagadelic tags for forums
- New forum topics
- Active forum topics
- Latest image
- Recent blog posts
- Recent comments
Drupal content
Both sites are loaded with sample content created using the Devel module’s generator scripts. For the “Simple” site, all sample content is either a page or a story (the only types in a default installation). For the “Complex” site, content also includes blog, book, forum, image, and testcck entries. Both sites also include sample vocabularies, terms, and comments. Content quantities are based upon Drupal’s benchmarking recommendations.
Users 2000 Nodes 5000 Path aliases 5000 Comments 10000 Taxonomy vocabularies 15 Taxonomy terms 250 Polls 1
After creating content, the “Complex” site’s search index was built fully. The “Simple” site does not enable searching.
