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.
Note: If you see a message at the bottom of the screen indicating that you are using "a development copy of PerlEx", be sure to install a valid license! Otherwise, you will not be getting the full benefit of PerlEx, as there is a built-in 2 second delay when PerlEx runs without a valid license. Time-limited trial licenses are available at the ActiveState web site.
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.
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.
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.