Performance Testing with Amakihi
Shortly after we started generalizing the Amakihi code, our
boss asked if we could use Amakihi to gather some performance data on an
internal application. We wanted to compare two different EJB server implementations
to determine whether or not to migrate to a popular open source EJB server and
open source database, or stick with the current server and database implementations.
Here's what we did:
- First, we wrote a six or seven scripts that implemented typical uses of
the web application. We also came up with a "variable substitution"
strategy so that we could, for example, use the same script, but logged in
as a different user.
- Next, we used JUnit's ActiveTestSuite
class to allow us to run scripts in several parallel threads. We implemented
a "select a script at random" function, so that each thread would
pick one of our scripts, and run it. We also decorated that with a RepeatedTest
decorator so that we could run the scripts over and over again.
- Finally, we gathered the amakihi performance measure logs and processed
the results. We collated the results into a big XML analysis file. Then we
ran the XML analysis file through several XSLT
stylesheets to prettify the results.
Here's a sample our results:
Back to the main page.