Benchmarking PerlEx Performance

We have provided a few examples below to illustrate the performance improvements your applications can gain by using PerlEx. Performance will vary depending on the environment in which they are run (hardware, memory, web server configuration, etc.). It is also important to note that these examples are with a single client accessing your web server. For more extensive performance testing we have provided links to some free performance testing software at the end of this section.

PerlEx Benchmarking

Simple Benchmark

This example compares the execution times of loading 100 linked pages. This test demonstrates running a simple CGI application under PerlEx without change.

The following examples utilize PerlEx to provide persistent data across connections to further improve performance.

Persistence Benchmark

This example compares the execution times of loading 25 pages that load a 400K file containing words for a spell check program. Each load then spell checks 100 words.

Persistent Database Benchmark

This example compares the execution times of loading 25 pages. Each page requires a connection to a database via the DBI module, however, no database access other than the connection is executed. This shows the overhead of making the database connection in regular CGI, and how persisting those connections with PerlEx::DBI can improve overall performance of your website. To run this example, you will need to have DBI and DBD::ODBC installed. You can install these modules by running "ppm install DBI DBD::ODBC" at a command prompt.

Web Service Client Benchmark

The Web Service Client benchmark uses SOAP::Lite to access a SOAP server running under PerlEx. The PerlEx Client is able to parse the WSDL file, and persist that data for consecutive uses. The CGI Client must retrieve and parse the WSDL file on each request.

SOAP::Lite

This benchmark demonstrates performance differences between using SOAP::Lite with PerlEx to serve SOAP objects as compared to using SOAP::Lite as a CGI SOAP server. Clients in both tests are SOAP::Lite clients running under PerlEx.

Other Benchmarking tools

WAS, Microsoft Web Application Stress Tool

Microsoft Web Application Stress is a simulation tool that is designed to realistically reproduce multiple browsers requesting pages from a web application.

WebStone 2.5

WebStone simulates multiple clients in order to stress web servers.