My team and I are often called on to help customers optimize SAS system performance, particularly when the root cause of performance problems is hard to track down. This is the first of a two-part article on practices and tools we’ve found most useful.
The first step in diagnosing and solving performance problems is to understand the complaint thoroughly. Compiling all the available information from the user will help you more accurately target diagnostic testing:
- Is there a problem with a specific task?
- Does a task run out of resources causing it to fail?
- Is it just too slow?
- Does it consume far more compute resources than is expected?
- Did it used to run faster than it is today?
Or, are the problems more pervasive across the many processes and users?
First clues to the problem are usually manifest by poor test or application response times. It’s often helpful to witness the problem first-hand to fully understand it.
This step may require a subsequent setup and run of the application or process, particularly if it is non-recurring task or activity. It is best to perform this activity under the same circumstances as the original problem. Ensuring that conditions are duplicated may require:
- Running the exact same procedures or code on the same data. This test run should be documented in an identified test bed so that the test activity and data will remain constant throughout the diagnostic cycle. Documentation should include the problem complaint and target behavior for solution definitions listed above, as well as the executing code or application and the data model documentation.
- Running under the same physical system, system “load” or operating conditions. On a multi-user system this means testing with the same number of users with the same level of activity. You will want to account for cyclical activity factors such as those influenced by time of day, day of week, day of month, business cycle activity, and so forth.
Once the complaint is clearly established and documented, then you can undertake processes to determine the root cause or causes and initiate correction. If the problem is established as recurring or persistent, it can be measured and diagnosed using monitors from within SAS along with a wide variety of hardware monitors. Stay tuned for Part II: What Monitor Tools to Use.
A Practical Approach to Solving Performance issues with SAS
- Troubleshoot Your Performance Issues: SAS Technical Support Shows You How
- Solving SAS Performance Problems: Employing Host Based Tools
- SAS Performance Monitoring - A Deeper Discussion
- Logging 101: Leveraging the SAS Enhanced Logging Facility