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.
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.
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.
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.
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 simulates multiple clients in order to stress web servers.