With the London 2012 Olympics around the corner, there are sure to be reports or rumors of performance-enhancing drug use among some athletes. It turns out that using manufactured chemicals to give yourself an edge is frowned upon in the athletic community.
However, as a SAS user you should avail yourself of any technique that provides a performance advantage, and often this comes in the form of tweaking SAS system options and optimizing the file I/O on your operating system.
These two SAS notes offer specific guidance for the best throughput and speed. These recommendations are backed by solid research from SAS tech support and R&D:
- Usage Note 46954: SAS system option settings for best performance in UNIX and Windows environments - provides specific values to use for certain options. For example, the recommended setting for the MEMSIZE option is 512M.
- Usage Note 42197: A list of papers useful for troubleshooting system performance problems - provides a list of dozens of papers (and growing!) that cover all types of scenarios.
Special hat-tip to my colleague Margaret Crevar (from the SAS R&D Performance Lab) for bringing these notes to my attention. View her recent SAS Talks webinar for more performance best practices.
9 Comments
Any additional information on setting these to higher values where the platform supports it?
For example my MEMSIZE was 2GB.
Bob, yes, more details are in this paper on how to maintain happy SAS users. I think the main message is that there isn't an advantage to giving SAS more memory than it needs, and it can be detrimental when you have multiple simultaneous SAS sessions.
Hi Chris,
Regarding 46954: can we apply these settings in a 9.2 mr3 environment?
Ralf
Ralf, I think the answer is Yes, except for ALIGNSASIOFILES which is new in 9.3. See this paper for more about that option and shared file systems.
Chris,
We are about to install SAS9.4 Foundation on a Windows 2008 Server Enterprise R2 in a virtual environment. The servers only have 16GB of memory with 2 cores and they are used VERY heavily. What perfomance settings, like memsize, sortsize, etc... etc... do you recommend?
Also, is there any documentation on these perfomance settings for 9.4 anywhere?
Thanks!
Marc, I don't have any other specific recommendations other than what the SAS notes already provide. I don't know that these recommendations have changed for SAS 9.4. Since I/O is most likely the biggest constraint, you might run some tests with SASIOTEST.EXE (in your SAS installation folder) to see how your system performs. Run it from a command prompt to see the options available. SAS Technical Support can provide guidance if needed.
I think that the recommended system for SAS 9.4 on Windows Server is a minimum of 4 cores. It can probably work okay with 2, but you might need to tune a bit. Like any system, the performance will depend on how many users and what they are doing.
Chris,
Thanks so much for the quick reply!!
Are the settings in the link good settings to set no matter how much memory, cores etc.. we haev? I was once told that the memsize should be 50% of the memory and to set the sortsize to half of the memsize. I'm trying to figure out the best way to go about making our environment the most optimal. Additional thoughts?
Marc, have you read this paper about "maintaining happy SAS users"? This provides more guidance -- not just the What, but the Why as well.
I'll check it out. Thanks again for your help!!