When using SAS Enterprise Miner, you might encounter a performance issue where a specific task takes longer to complete than expected. The following sections serve as a starting point for diagnosing and resolving such performance issues in SAS 9.3 and 9.4. General background information along with specific diagnostic steps are provided to help set appropriate expectations and expedite resolution.
Not every task that fails to perform as expected is a performance issue. Unreasonable expectations or failure to follow best practices might lead to scenarios that are incorrectly perceived to be performance issues.
Symptoms that might indicate a performance issue
- a property window appears very slowly
- running a simple model using SAMPSIO sample data takes a long time
Symptoms that might indicate a best-practice issue
- interactively manipulating many hundreds of variables takes a long time
- trying to fit a variable with many interaction runs out of memory
The information in this SAS note is intended to rectify actual performance issues. Before beginning, consider whether using a best-practice might be a more appropriate solution. The techniques that are described in SAS KB0036233 can help diagnose and resolve behaviors that are not performance issues.
SAS KB0036233: "Techniques for testing, solving, or reporting problems that occur when using SAS® Enterprise Miner(tm)"
Background
SAS Technical Support's approach to diagnosing and resolving performance issues is iterative. At a minimum, each iteration includes efforts to address points such as these:
- understand the behavior of concern
- collect appropriate diagnostic data
- analyze diagnostic data
- prescribe tuning
- attempt to re-create the behavior or monitor the environment for the behavior
- reevaluate the situation
Every effort is made to resolve concerns as quickly as possible. However, several iterations might be required before resolution is reached.
A critical element to each iteration is understanding the behavior or concern. When reporting a behavior or concern to SAS Technical Support, be sure to include these items:
- compare and contrast the observed behavior against the expected behavior
- indicate how the expected behavior came to be expected
- provide quantitative and qualitative details
Initial diagnostics
The following diagnostic steps are often necessary to begin investigating a performance issue. In some cases, the results of these initial steps lead to immediate resolution by SAS Technical Support. In other cases, additional diagnostics and iterations might be required before resolution is reached.
- Describe the behavior using the following list of prompts as a guide
Be sure to include as many details as possible using quantitative and qualitative statements.
- Describe the observed behavior.
- Describe the expected behavior.
- Describe how the expected behavior came to be expected.
- Describe the use-case that lead to the behavior.
- Describe the environment in which the behavior occurs. If you are using SAS Enterprise Miner Client or SAS Enterprise Miner via Java Web Start, then comment about whether SAS Enterprise Miner uses a grid-launched Workspace Server.
- Describe when the behavior was first observed and the frequency of the behavior thereafter. Is there a trend to the frequency of the behavior since the behavior was first observed?
- Describe the extent of the behavior, especially with regard to number of users, number of client machines, other environments, and the duration or magnitude. Is there a trend to the extent of the behavior since it was first observed?
- Enable Workspace Server logging
- If you are using SAS Enterprise Miner Client or SAS Enterprise Miner via Java Web Start, then you can enable Workspace Server logging using the instructions that are located in the following documentation:
Create a Log File for Workspace Server Troubleshooting :: SAS 9.4 Intelligence Platform: System Administration Guide
Create a Log File for Workspace Server Troubleshooting :: SAS 9.3 Intelligence Platform: System Administration Guide
- If you are using SAS Enterprise Miner Workstation, then you can enable Workspace Server logging using the instructions that are located in the following SAS Note:
SAS Note 58680: "Generating Workspace Server logs within SAS Enterprise Miner"
- Enable the DEBUG setting for the eminer and eminer.midtier loggers
- If you are using SAS Enterprise Miner Client or SAS Enterprise Miner via Java Web Start, then you can enable the DEBUG setting for the eminer and eminer.midtier loggers using the following steps:
- Find the following file and make a backup copy: SASConfig/Lev#/Web/Common/LogConfig/SASEnterpriseMiner-log4j.xml
- Open the
SASEnterpriseMiner-log4j.xml
file for editing and find the following two sections:
<category additivity="false" name="com.sas.analytics.eminer" > <priority value="WARN"/> <appender-ref ref="SAS_CONSOLE"/> <appender-ref ref="SAS_FILE"/> </category> ... <category additivity="false" name="com.sas.analytics.eminer.midtier"> <priority value="WARN"/> <appender-ref ref="SAS_CONSOLE"/> <appender-ref ref="SAS_FILE"/> </category>
- For each of these sections, change the priority value from WARN to DEBUG. Example:
<priority value="DEBUG"/>
- Save the changes that were made to
SASEnterpriseMiner-log4j.xml
.
- Restart the SAS Web Application Server(s) so that the changes take effect.
- Once the restart is complete, additional DEBUG output should be displayed in the
SASEnterpriseMiner*.log
file. Depending on your configuration, this log should be found at one of two possible locations:
- SASConfig/Lev#/Web/Logs/SASServer1_1/
- SASConfig/Lev#/Web/Logs/SASServer11_1/
- If you are using SAS Enterprise Miner Workstation, then no action is needed. These loggers are set to DEBUG when enabling client-side logging.
- Enable client-side logging
- If you are using SAS Enterprise Miner Client or SAS Enterprise Miner Workstation, then em_console output serves as client-side logging. You can use the instructions that are located in the following SAS Note to enable em_console output. For the purpose of diagnosing and resolving performance issues, you need to enable the advanced diagnostic-output as described in the final section:
SAS Note 56002: "Collecting diagnostic output from SAS Enterprise Miner Client or SAS Enterprise Miner Workstation with em_console"
- If you are using SAS Enterprise Miner via Java Web Start, then Java Console output serves as client-side logging. You can use the instructions that are located in the following SAS Note to enable the Java Console output. For the purpose of diagnosing and resolving performance issues, you need to enable detailed Java tracing as described in the final paragraph:
SAS KB0036243: "How to enable logging when SAS Enterprise Miner is launched from Java Web Start"
- Generate diagnostic material
- The first use-case serves as a baseline-performance benchmark and is detailed in the following SAS Note:
SAS Note 58371: "Perform a sample project test within SAS Enterprise Miner"
This use-case exercises several actions within SAS Enterprise Miner: launching, logging on (if appropriate), creating a new project, creating a new diagram, creating a sample data-source, building a flow, running a flow, and viewing results. The diagnostic material that is generated during this use-case serves as a basis for comparison and gives an overall idea of performance within SAS Enterprise Miner.
- The second use case is specific to your concern. Simply run through the use-case that produces the behavior. The resulting diagnostic material from this use-case allows for deeper analysis beyond what is available in the baseline-performance benchmark, if necessary. Be sure to keep a record of the specific actions taken along with how long each of those actions takes to complete.
- After thoroughly describing the behavior and enabling additional logging, the next step is to generate diagnostic material by using SAS Enterprise Miner. There are two separate use-cases that should be performed:
- Collect diagnostic material
After all the previous steps have been completed, the only task that remains is to collect all the information and send it to SAS Technical Support for review and analysis. Be sure to include the following items:
Note: The log locations provided above are specific to SAS 9.4. If you are using SAS 9.3, be sure to submit the related log files.
It is possible that these log files are too large to send via email, even after compression. The following Knowledge Base article details how files can be transferred to SAS Technical Support after a support request number has been created: KB0036136, “How to upload and download files using the SASTSDrive file sharing server.”
A support request number is created automatically when you engage SAS Technical Support.
- A complete description of the behavior as discussed in step 1
- All Workspace Server logs (mentioned in step 2) that are generated during the use-cases of step 5
- All of the logs in the following locations (includes the DEBUG output that is enabled in step 3):
- SASConfig/Lev#/Web/Logs/SASServer1_1/
- SASConfig/Lev#/Web/Logs/SASServer11_1/ (if such a path exists)
- SASConfig/Lev#/Web/WebAppServer/SASServer1_1/logs/
- SASConfig/Lev#/Web/WebAppServer/SASServer11_1/logs/ (if such a path exists)
- SASConfig/Lev#/Web/WebServer/logs/
- Client side logging (step 4) that is generated during the use-cases of step 5
- A list of actions and timestamps as gathered in step 5a
- The run.log as gathered in step 5a
- The em.ini file (if you are using SAS Enterprise Miner Client or SAS Enterprise Miner Workstation) as gathered in step 5a
- A list of actions and timestamps as gathered in step 5b
Additional diagnostics
After the initial diagnostics have been collected and analyzed, it might be necessary to collect additional diagnostic information in subsequent iterations. Here is a list of some additional diagnostic techniques that SAS Technical Support might use while diagnosing and resolving performance issues within SAS Enterprise Miner:
- SAS Note 53239: "Generating thread dumps from SAS Enterprise Miner Client or Workstation"
- SAS KB0036530: "Creating a model package (SPK file) in SAS Enterprise Miner"
- SAS KB0036262: "Testing Throughput for your SAS® 9 File Systems: UNIX and Linux platforms"
- SAS Note 51659: "Testing Throughput for your SAS® 9 File Systems: Microsoft® Windows platforms"
- SAS Note 45561: "How to use the nmon command to monitor the performance of SAS® on an AIX system"
- SAS Note 48290: "How to use the nmon command to monitor the performance of SAS® on a Linux system"
- SAS Note 57825: "Using the gather_info.sh script to gather performance-related information about RHEL 6 and RHEL 7 environments"
- SAS KB0036233: "Techniques for testing, solving, or reporting problems that occur when using SAS® Enterprise Miner(tm)"
Operating System and Release Information
SAS System | SAS Enterprise Miner | Microsoft® Windows® for x64 | 7.1 | | 9.3 TS1M0 | |
Microsoft Windows Server 2003 Datacenter Edition | 7.1 | | 9.3 TS1M0 | |
Microsoft Windows Server 2003 Enterprise Edition | 7.1 | | 9.3 TS1M0 | |
Microsoft Windows Server 2003 Standard Edition | 7.1 | | 9.3 TS1M0 | |
Microsoft Windows Server 2003 for x64 | 7.1 | | 9.3 TS1M0 | |
Microsoft Windows Server 2008 | 7.1 | | 9.3 TS1M0 | |
Microsoft Windows Server 2008 R2 | 7.1 | | 9.3 TS1M0 | |
Microsoft Windows Server 2008 for x64 | 7.1 | | 9.3 TS1M0 | |
Microsoft Windows XP Professional | 7.1 | | 9.3 TS1M0 | |
Windows 7 Enterprise 32 bit | 7.1 | | 9.3 TS1M0 | |
Windows 7 Enterprise x64 | 7.1 | | 9.3 TS1M0 | |
Windows 7 Home Premium 32 bit | 7.1 | | 9.3 TS1M0 | |
Windows 7 Home Premium x64 | 7.1 | | 9.3 TS1M0 | |
Windows 7 Professional 32 bit | 7.1 | | 9.3 TS1M0 | |
Windows 7 Professional x64 | 7.1 | | 9.3 TS1M0 | |
Windows 7 Ultimate 32 bit | 7.1 | | 9.3 TS1M0 | |
Windows 7 Ultimate x64 | 7.1 | | 9.3 TS1M0 | |
Windows Vista | 7.1 | | 9.3 TS1M0 | |
Windows Vista for x64 | 7.1 | | 9.3 TS1M0 | |
64-bit Enabled AIX | 7.1 | | 9.3 TS1M0 | |
64-bit Enabled HP-UX | 7.1 | | 9.3 TS1M0 | |
64-bit Enabled Solaris | 7.1 | | 9.3 TS1M0 | |
HP-UX IPF | 7.1 | | 9.3 TS1M0 | |
Linux | 7.1 | | 9.3 TS1M0 | |
Linux for x64 | 7.1 | | 9.3 TS1M0 | |
Solaris for x64 | 7.1 | | 9.3 TS1M0 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.