Usage Note 50905: Restarting SAS® Federation Server or the pooled connections from SAS® Real-Time Decision Manager causes delays in executing campaigns
SAS Real-Time Decision Manager enables you to insert DS2 code into your decision campaigns using SAS® process nodes. The DS2 code in these nodes is triggered to run by the SAS® Decision Services design server or engine server middle-tier application when the server executes your campaign. However, SAS Federation Server actually compiles and runs the DS2 code. In order to communicate with the SAS Federation Server, the design server and the engine server each maintains their own pool of connections to it. Each connection loads a given DS2 package only when that package is requested for a campaign. Once a DS2 package is loaded, it remains in that connection's memory until the connection is closed. DS2 packages that are already in memory execute significantly faster than DS2 packages that have to be loaded.
This configuration has some consequences for performance:
- A connection that has been called on to execute all of your various DS2 packages executes subsequent DS2 calls faster than a new connection does.
- With older connections, more DS2 code is typically loaded into their memory. So using older connections is likely to speed campaign processing.
- Reusing a given connection as much as possible produces better performance than using the connections in sequence. A heavily reused connection is more likely to include the DS2 package that you need already loaded into memory.
- Newer connections execute DS2 code more slowly. So performance measurements should not be taken in an environment that has recently been restarted.
- Anything that causes these connections between SAS Decision Services servers and the SAS Federation Server to be restarted affects performance.
The following events reset connections:
- restarting the SAS Federation Server
- restarting the SAS Decision Services server (the design server or the engine server)
- invalidating a particular connection because a time-out value is exceeded during execution of DS2 code
Note that this condition can be triggered by poor back-end database performance if your DS2 makes SQL calls to the database. When one connection is invalidated, it triggers a cascade in which all connections are reset. This restart can cause slower performance, which can trigger more time-out conditions.
Operating System and Release Information
SAS System | SAS Real-Time Decision Manager | Microsoft® Windows® for x64 | 5.41 | | | |
64-bit Enabled AIX | 5.41 | | | |
64-bit Enabled Solaris | 5.41 | | | |
HP-UX IPF | 5.41 | | | |
Linux for x64 | 5.41 | | | |
Solaris for x64 | 5.41 | | | |
*
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.
Type: | Usage Note |
Priority: | medium |
Date Modified: | 2014-03-28 14:16:15 |
Date Created: | 2013-08-28 20:48:59 |