High-volume performance testing: The more the merrier
The other day, a client called me about the following issue: a university with about 30,000 students wanted to put a course enrollment application online. By putting this application online, students would be able to enroll in courses remotely. Because the university starts enrollment for these courses every semester, the expectation is that this application will suffer peak loads. The university believes that 700 users will use the application at the same time. Therefore, the client sets a performance requirement of 700 users. This is just one example of a case where a client would need high-volume testing. Will this application be able to handle 700 virtual users (VUs)?
For now, let's say 200 or more virtual users in a schedule is a high-volume test. If you want to perform high-volume performance testing, then IBM
Get a license
Licensing might be a hurdle for you. Keep in mind that you need to have the base RPT license at all times. With this license, you can have up to five HTTP users only. To test with more users, you need a virtual users license pack. For protocols other than HTTP, you will also need a protocol license. You can read more about enab
Note that when you check out a license, that license can only be used for the number of users it has been checked out for, and it can only be used one time. Even if the license covers more users than you have in your test, you can't reuse the license with another test. For example, if you check out a license for 250 users and run a schedule with 200 users, you can't use that license again for another 50 users. You checked out the whole license and it was already used. It's all or nothing.
Build your environment
First, I want to point out that we, as a community, cannot develop a standard formula for determining what and how many resources you need as a function of the number of VUs you need to accommodate. To create such a formula would be difficult because there are so many different variables. For now, we will skip this academic issue and look at the best practices for building an environment with Rational Performance Tester.
For your environment, think about the following:
You can read more in the IBM developerWorks white paper, “Optimize load handling for high-volume tests with IBM Rational Performance Tester: Best practices for your load testing environment" (download available here).
Configure the SAP GUI
Finally, when you set up the default configuration, you cannot put high loads on the SAP R/3 server. You must modify the configuration with transaction code RZ10. One of the parameters that you need to change is the maximum number of concurrent conversations. This means setting the environment variable CPIC_MAX_CONV. Make sure you have the rights to set this environment variable.
It would be worthwhile to try the following:
For best practices for SAP, check out this white paper on how the Extension for SAP Solutions extends the performance and scalability testing of Rational Performance Tester to SAP Solutions.
High-volume performance testing can give you valuable information if you are expecting to have many users connecting at the same time. However, this testing can be difficult to accomplish if you don't have the right tools and configurations in place. Have you considered all the requirements needed to conduct these tests?
Hopefully this blog post helps you to start high-volume testing with RPT. If you'd like to discuss this further, leave a comment or connect with me on Twitter @GunangWaney.