Seems like @MaryLeeShark took a Bite of Your System Performance?
07/13/2017 by Nick Welke Modernization - Infrastructure
If your SAS server performance has been lagging, it might seem as if @MaryLeeShark (a 16-ft great white shark with a Twitter account) has taken a bite out of it. Slow system performance can be the result of outdated hardware to users having poor programming techniques. While there are no known shark attacks on servers, here’s a few things to consider as you diagnose your system performance.
If you have recently installed or upgraded your system, ensure the SAS hardware recommendations are followed. As many experienced administrators know, servers more than three years old may have a hard time keeping up with newer applications. The newer servers offer not only speedier performance due to advancements in computer processing, but other benefits such as efficient power consumption and better memory management. In the past few years, commodity hardware has become more popular to use. Commodity hardware generally refers to inexpensive standardized servers that are easy to purchase from a variety of vendors. These servers do not have a specific purpose and can be used as Windows or Linux based machines.
You should periodically benchmark your servers so you understand when performance issues are occurring. For any benchmarking test, make sure you are simulating what SAS users are actually doing. Here’s an example benchmark using a SAS macro. Run the benchmarks at different times of the day to better understand the impact users have on the system. If you change any performance options, you would want to compare performance before and after results of any changes you make.
However, powerful servers are only a small part of the equation. If you install a powerful server without making other changes, then you only enable bloated databases and inefficient programs to run lightning quick!
In many situations, increasing the amount of memory available to SAS boosts performance when working with high volumes of data. The SAS option for controlling how much memory a session can use is managed using the MEMSIZE option. Be careful though, using more system memory to process data can improve performance but can also impact other processes or even the ability to complete the job at hand. It can be as dangerous as Caribbean reef shark helping as you spearfish in the Bahamas!
Along with setting the MEMSIZE option, it is a good practice to also restrict the SUMSIZE option. SUMSIZE limits how much memory SAS can consume for data summarization tasks that use class variables. SUMSIZE should always be less than MEMSIZE and REALMEMSIZE to leave spare room for other subtasks within the PROC. If SAS needs more memory to finish the step, it creates a temporary utility file on the filesystem.
Configuring both MEMSIZE and SUMSIZE is a better practice to follow to ensure the stability of processing data but at the cost of longer build times due to swapping data to hard disk. There are many options available within SAS to manage performance.
It is important to understand the pros and cons of configuring performance options in SAS and take appropriate steps to balance for the best approach. The SAS Platform Administrator should manage these options in your environment.
In some cases, administrators determine the server hardware and software are fully optimized but still as slow at processing data as Michael Phelps trying to race @MaryLeeShark. The issue is the huge volumes of data being moved around the sever for analysis. In this case, other SAS products such as SAS Viya CAS or SAS Grid should be considered.
The SAS Viya ecosystem is powered by CAS a new analytics engine. It is composed of an in-memory engine with ability to overflow to disk to work with tables larger than the total available memory and microservices that provide administrators with user and data management capabilities. CAS has an elastic and scalable design in line with today’s need to perform infrastructural adjustments based on system load and demand. It’s easy to add or remove worker nodes from an existing CAS deployment. This makes it possible to leverage platforms such as AWS to spin up new worker VM’s during times of peak usage and shut them down when the demand for resources decreases. [More about SAS Viya Platform here .. ]
A SAS Grid environment is ideal when there are multiple users who want to access multiple servers. It intelligently uses the available computing resources — specifically it routes jobs to the least “busy” server or node in the Grid on behalf of a user. This saves the user time, since they no longer need to concern themselves with where a program would execute the fastest. In additional, the overall computing power in a Grid can be managed via queues, with some queues being given a higher priority over others in terms of resource consumption. Grid computing environments can also be scaled easily. Unlike Hadoop, a Grid environment allows for heterogeneous computing resources. In other words, each server or node in the Grid does not have to be identical. Servers can have different amounts of RAM and CPUs, which allows an organization to potentially leverage and combine both their legacy and new hardware as Grid nodes. [More about SAS Grid in this free, on demand webinar].
Before you can diagnose system performance issues, you must understand if the system is fully optimized or if your data load is just too large. As the need for analysis grow, the business users are in competition for system resources. Many organizations are struggling with finding solutions that are economical but still allow the business to swim with the sharks! These options should give you some ideas to consider.
Image Credit: Photo of MaryLee from Twitter. The Ocearch Organization allows you to track @MaryLeeShark.
Our ZenGuard service provides cost-effective access to expert SAS administrative support professionals for a fraction of the cost of hiring resources internally. Our flexible service plans and contract terms let you tailor your savings with the right plan – now that’s the way it should be. More info …