SUNGARD SUMMIT 2007 sungardsummit.com Load Testing your Banner Systems Presented by: Scott Hollen University of Richmond March 22, 2007 A Community of Learning
Introduction What is load testing? Why test? Load vs. Performance vs. Stress testing Tools Real world examples you can relate to (Banner!)
What is load testing? From http://computing-dictionary.thefreedictionary.com A test of a computer system and its applications by running under a full complement (full load) of transactions or users. A load test can be real or simulated by testing software
Why test? Maximize efficiency of your systems Identify potential bottlenecks Discover potential limitations Ensure that critical systems behave adequately under peak loads Provide measurements to anticipate all sorts of stuff like growth and response times
It s all so confusing! Okay, we get load testing, but what about PERFORMANCE testing? What about STRESS testing? It may not seem all that important, but there is a difference between Performance, Load and Stress testing
Performance Testing Profiling your applications and/or servers Goals are to find and eliminate bottlenecks Establish baselines and benchmarks, and acceptable levels of response for expected loads NOT to find bugs Performed on stable systems White Box Testing inspected/monitored from the inside out (via monitoring tools); exercising programs internals Allows tuning of all parts
Load Testing Comes after Performance testing after tuning Exercise the system by increasing the load on the system this exposes bugs Determines the highest load the system can handle and still work properly Black Box Testing using client load tools against the application to measure its responsiveness
Stress Testing Simply put this is where you get to try and break the system by overwhelming it Tests recoverability Allows for testers to see how the system behaves in/reacts to failure
Sequence of Events 1) Performance test and tune the heck out of your stuff eliminating any bottlenecks 2) When you can t optimize anymore, move on to Load testing http://agiletesting.blogspot.com/2005/02/performance-vsload-vs-stress-testing.html
Tools Front End Tools Prepares the data and scripts needed to drive the test s actions Back End Tools Collects and evaluates results of the tests
Examples Open source 1) JMeter 2) The Grinder 3) Apache Flood 4) Httperf Commercial products 1) LoadRunner (Mercury.com) 2) WAPT (loadtestingtool.com) 3) Silk Performer (by Seque.com)
Now, for Banner University of Richmond purchased LoadRunner in June, 2004 Allows for recording of scripts against Banner and for running them in many different configurations Also allows for analyzing of results following the tests Not cheap though! First used extensively a year later when Registrar wanted to move from staggering out student registration to opening it up to the entire class all at once; this was a move from 150 students to possibly 750!
First step Registrar s office, DBAs, SAs and Banner team met. Second step Acceptable levels of performance was agreed upon 2-3 times normal response time (unloaded system)
Goals for Information Services 1) To provide an accurate estimate of the number of Registering users our current system can acceptably support 2) To make useful recommendations regarding the use and expansion of our production environment regarding its use for priority registration
Assumptions 1) We have a license for only 150 users in LoadRunner, so this is the size we decided to use in our simulation 2) Current environment based on current registration peak usage 3) Number of CPUs on database server is the critical hardware resource 4) Number registering vs. number who are available to register between 75% and 90% 5) Customization of BannerWeb not an option.
Our Test Record with LoadRunner 1 student performing the following: 1) Login to Bannerweb 2) Select a registration term 3) Repeat the following 5 times Pauses based on LoadRunners wait time and verified by Registrar and student as being realistic Looks up a class 4) Logs out
Repeated performance/load tests determined that our production systems could handle 75 registration users per CPU Conclusion With current hardware (4 CPUs), the maximum number of registering students we can handle is 300
Was load testing valuable? Yes! We found that our current environment could not handle the Registrar s request this led to an upgrade of our CPUs Tests were repeated after upgrade and showed that we now COULD handle the increase in simultaneous registrations
Another example Banner 7.2 to 7.3 Upgrade Ran a series of performance tests against Banner 7.2 for baseline system monitored by DBAs and SAs AGCGIFT query only form APAIDEN constituent data entry 150 user Registration test Modified our existing environment for Red Hat and midtier upgrades and re-tested, recording and saving results Results via LoadRunner and other tools showed overall improvement
Ran in Banner 7.3 modifications and re-ran the tests Improved again!
So what does all of this show us besides an improvement in our system? 1) Establishment of baseline tests (both the test execution scenarios) that can be executed over and over again provides consistency in comparisons 2) Well thought out test plans are crucial to overall results knowing what part of your system the tests target allow for trusting the final numbers
Overall Conclusions? Understanding the differences in your tests is critical to goal of the test Large systems such as Banner benefit greatly from wellengineered load testing (regardless of your chosen tool) Ultimately, it s your users that benefit the most!
Great resources In addition to the two previous links: http://www.wilsonmar.com/ http://www.awprofessional.com/articles/article.asp?p=2146 8&seqNum=6&rl=1
Thank You! Scott Hollen shollen@richmond.edu Please complete the online class evaluation form SunGard, the SunGard logo, Banner, Campus Pipeline, Luminis, PowerCAMPUS, Matrix, and Plus are trademarks or registered trademarks of SunGard Data Systems Inc. or its subsidiaries in the U.S. and other countries. Third-party names and marks referenced herein are trademarks or registered trademarks of their respective owners. 2007 SunGard. All rights reserved.