Dropped Connections on SAP and the KeepAlive (rdisp/keepalive) Parameter
Posted by Russell Wright on April 28, 2014
We were experiencing issues with our SAP GUI connections dropping somewhat randomly, but more so when connected wirelessly or through VPN to our SonicWALL TZ 200. This is probably a result of the SonicWALL aggressively closing connections and therefore causing SAP to drop the connection to the client. In the SM21 log, a dropped connection entry looks like this.
There are several parameters in SAP that deal with connections, but we’re not talking about wanting to forcibly log off clients from our demo/test system. What we want is to keep the connection to SAP alive as long as possible. SAP OSS note 27320 provides a better definition of a couple of the parameters in question. The definitions are repeated here for convenience.
Parameter for application servers, unit seconds, default 1200.
If the frontend has not sent any data to the application server for "keepalive" seconds, the
application server sends a short "Ping" message to the frontend. The frontend should answer within
the next 40 seconds with "Pong", otherwise the application server assumes that the link is dead and
releases all resources to the corresponding user. An error line "DP_CONN_DEAD" then appears in the
trace file dev_disp.
This usually occurs when a user switches off their PC without carrying out the shutdown procedure.
A value of 0 means that no check occurs.
Parameter for application servers, unit seconds, default 0.
If the frontend has not sent any data to the application server for "gui_auto_logout" seconds, the
frontend closes the user connection and releases the resources.
A value of 0 means that no users are logged off automatically.
One way to carry out this change, use the RZ10 transaction.
Select the appropriate Instance profile.
Select Extended maintenance and the Change button.
Select the Parameter button to add a new parameter.
Enter the rdisp/keepalive parameter and a number of seconds. I’ve entered 180 seconds (3 minutes) in this case. Press Enter to validate.
You should see the parameter entered.
When you back out of the transaction, it will ask you to save your changes.
You should see a validation that the changes were accepted.
Now check your work by selecting the profile and selecting Display.
You should see the rdisp/keepalive parameter.
You now need to recycle your SAP instance for the parameter to be enforced.