When processing requests submitted by a user-written Java application or .NET application, the SAS Stored Process Server might experience performance problems if the user application does not close the connection to the SAS Stored Process Server.
If the client application submits a request but does not close the connection to the SAS Stored Process Server, the request will continue to occupy SAS Stored Process Server resources. The SAS Stored Process Server log file will indicate that the cost continues to steadily increase. For example:
You will also notice that your SAS Stored Process Server log will not contain any Context Close messages (which indicate that the connection to the client application was closed).
When your SAS Stored Process Server cluster is full and cannot process any more requests, the following error message will appear in the Object Spawner log file:
ERROR: The Balance algorithm timed out before a server could be found. WARNING: The load balancing instance ldblCompRefDirectConnection call failed. WARNING: Unable to redirect the client request.
Your SAS Stored Process Server log file might contain ERROR messages such as the following (which generally mean that the client disconnected from the SAS Stored Process Server):
ERROR: The tcpSockRead call failed. The system error is 'The connection was reset by a peer'. NOTE: Bridge protocol engine socket access method failed to read from socket, error 10054 (The connection was reset by a peer).
If you experience this behavior, you should modify your client application code so that it closes the connection to the SAS Stored Process Server.
For more information, see Sample 26054: "Executing a stored process defined in metadata using locally deployed foundation services".
Note that the destroy() method in the Java code is used to close the connection. When writing Java code, you must have the following two statements, in this order:
spExecution.waitForCompletion(); spExecution.destroy();
You must have these two statements for every path out of the code, including exceptions. Both statements are essential.
The following modifications might also help delay this problem. Change the Maximum Cost Load Balancing value for your SAS Stored Process Server from its default value of 1000 to 500 and change the Cost Per Client value from its default of 100 to 1. These options are accessible from the Server Manager in your SAS® Management Console. Select the Options tab on the property sheet for the stored process logical server.
To change the Maximum Cost Load Balancing value:
For example, if you specify a value of 60, your Stored Process Servers will shut down after 60 minutes of inactivity. The servers will be refreshed when they start up again.
To change the Cost Per Client value:
Product Family | Product | System | SAS Release | |
Reported | Fixed* | |||
SAS System | SAS Integration Technologies | Microsoft Windows XP Professional | 9.1 TS1M3 SP1 | |
Microsoft Windows Server 2003 Standard Edition | 9.1 TS1M3 SP1 | |||
Microsoft® Windows® for 64-Bit Itanium-based Systems | 9.1 TS1M3 SP1 | |||
Microsoft Windows XP 64-bit Edition | 9.1 TS1M3 SP1 | |||
Microsoft Windows NT Workstation | 9.1 TS1M3 SP1 | |||
Microsoft Windows Server 2003 Datacenter Edition | 9.1 TS1M3 SP1 | |||
Microsoft Windows Server 2003 Enterprise Edition | 9.1 TS1M3 SP1 | |||
Microsoft Windows 2000 Professional | 9.1 TS1M3 SP1 | |||
Microsoft Windows 2000 Server | 9.1 TS1M3 SP1 | |||
Microsoft Windows 2000 Advanced Server | 9.1 TS1M3 SP1 | |||
Microsoft Windows 2000 Datacenter Server | 9.1 TS1M3 SP1 | |||
64-bit Enabled Solaris | 9.1 TS1M3 SP1 | |||
64-bit Enabled HP-UX | 9.1 TS1M3 SP1 | |||
z/OS | 9.1 TS1M3 SP1 | |||
HP-UX IPF | 9.1 TS1M3 SP1 | |||
Linux | 9.1 TS1M3 SP1 | |||
Linux on Itanium | 9.1 TS1M3 SP1 | |||
OpenVMS Alpha | 9.1 TS1M3 SP1 | |||
64-bit Enabled AIX | 9.1 TS1M3 SP1 | |||
Tru64 UNIX | 9.1 TS1M3 SP1 |
Type: | Usage Note |
Priority: | |
Topic: | System Administration ==> Servers ==> Integration Technologies |
Date Modified: | 2007-08-28 10:02:07 |
Date Created: | 2006-03-31 14:50:38 |