When you think of the performance for an application, it brings to mind different things depending on who in the organization you are asking.
- For a procurement officer, the main concern is that you don’t hear from IT or the business that you need to buy more hardware for your database to run faster.
- For the CIO, it is the whole picture around performance, including RAS (reliability, availability, and scalability).
- For the business user, it is how quickly the application can create the report that you are seeking.
- For the DBA, it is how quickly the query comes back, but also about whether other queries will impact the performance and tuning of the database in your control.
While implementing an analytic solution for the finance department at a company in Stamford, CT, the users asked me if there was anything I could do to reduce the time that the report took to run from 5 seconds to less than 1 second. At first, I thought to myself … geez, the settings on the solution have already been optimized to bring report time down from 30 seconds to 5 seconds. Isn’t that good enough?
Ultimately it doesn’t matter what I think if users want faster times, they don’t want to hear that you’re running out of ideas.
Considerations for Gaining Better Performance
Take a look at some of the considerations that are included in the performance conversation around your enterprise:
- How many users can be logged into your solution before the performance starts to degrade?
- What ongoing maintenance is necessary to keep the environment performing well? How often does maintenance need to be performed?
- What factors impact performance that may be out of your control – I/O, available RAM, available hard disk space, network traffic?
- Are your data center resources being utilized effectively enough for the bill that you are paying?
- Are the CPUs on your production box spiking to the point of realizing that you don’t have enough compute power available?
At a more detailed level, if you worry about performance as a regular part of your job, you are aware of the common factors that physically limit what you can do to adjust performance:
- RAM
- Number of cores (CPUs)
- I/O
- Hard disk space
- Threading
While these are important considerations, let’s focus on the ones that affect the overall system performance of your SAS analytic applications.
Optimizing Your SAS 9 Analytics System
You want to optimize your SAS system performance. The best practice recommendations for SAS 9.4 users have included in the SAS 9.4 Language Reference: Concepts. The general areas that you want to focus on are well covered in the Optimizing System Performance section:
- Definitions for optimizing system performance
- Collecting and interpreting performance statistics
- Techniques for optimizing I/O
- Techniques for optimizing memory usage
- Techniques for optimizing CPU performance
- Calculating data set size
As a SAS Administrator, these options can help significantly if you have not addressed them recently or if you are new to SAS 9.4.
Beyond System Optimization
You have been through the system optimization decision tree. You are still not getting what you want in terms of performance and control over your environment. The optimization of your system can only take you so far. At that point, you need to make a few decisions:
- If you want to remain on the SAS 9.4 Platform, you should consider looking at what you can do in terms of supporting your programs beyond the basic SAS system configuration options. This includes extending your current SAS infrastructure to support parallel processing. Refer to the SAS9 Support for Parallel Processing section that includes coverage for the following topics, all of which are helpful in extending your environment to deliver the right results, to your users:
- SAS Scalable Performance Data Server (SPDS)
- SAS High-Performance Analytics products
- SAS Grid Manager
- SAS In-Database technology
- SAS In-Memory Analytics technology
- SAS High-Performance Analytics product integration
- If you are considering modernizing to meet your performance goals and to update to the latest SAS technology, you should consider migrating to SAS Viya.
SAS Viya provides a cloud-enabled platform that allows users of all types – data scientists, business analysts, developers, and executives – to collaborate and realize innovative results faster. [Our complete guide for cloud migration.]
Questions about navigating any of these topics? Zencos has a dedicated team with decades of experience in helping to address performance issues, click Let’s Talk to get help accessing your system performance or with assistance answering your SAS Grid or SAS Viya questions.