Qlik Community

Ask a Question

Knowledge Base

Search or browse our knowledge base to find answers to your questions ranging from account questions to troubleshooting error messages. The content is curated and updated by our global Support team

Announcements
QlikWorld Online 2021, May 10-12: Our Free, Virtual, Global Event REGISTER TODAY

Enabling TCP Keep Alive Functionality In Qlik Sense

Andre_Sostizzo
Digital Support
Digital Support

Enabling TCP Keep Alive Functionality In Qlik Sense

Also see a related video posted on Hub access times out with: Error Connection lost. Make sure that Qlik Sense is running properly  

This option is available in Qlik Sense June 2018 Patch 1 and later releases.   

Description of related problem:

Getting errors "Connection to the Qlik Sense engine failed for unspecified reasons. Refresh your browser or contact our system administrator" for external users on other browsers except for IE when they open the Qlik sense app and leave it inactive until it exceeds the Firewall session idle timeout. This is followed by a connection reset for the TCP WebSocket session.

For Qlik Sense Enterprise for Business (Cloud), see Loading of an app is hanging when using QlikSense Cloud.

 Cause:

TCP WebSocket connection is terminated by the firewall because the firewall is not receiving any TCP traffic such as keep-alive packets from client browser (e.g. Firefox, older Chrome versions).  Specific web browsers have their own tcp keep-alive behavior. 

This issue may be found with less frequency with IE because it sends the TCP Websocket keep-alive more frequent than any other main stream browser. Here are the default intervals for the three main browsers latest releases as of September 2020:

Default TCP-Keep-Alive intervals:

Resolution:

General info

The web socket functionality is default delivered switched off not to affect any existing customers. Customers who do not experience any issues with web sockets terminated by the network due to inactive SHOULD NOT switch this feature ON since it will send unnecessary traffic on the network. See How are WebSockets used in QlikSense ? for more information.

How to configure?

1. Stop the Qlik Sense Proxy Service

2. Edit the file C:\Program Files\Qlik\Sense\Proxy\Proxy.exe.config This location may not be available if Qlik Sense was not installed in the default location.

3. Add the configuration key.  
 

<add key="WebSocketPingInterval" value="0"/>   <!-- Interval in seconds for the web socket ping to the client (a value of "0" is disabling the ping)–>

 

Where value is a suitable positive number depending on the inactive web socket timeout setting in the network. The effective interval that the Qlik Sense Proxy server will send keep-alive messages towards the client my oscillate between 2 x value and 1 x value, since it also takes into account backend inter-process socket activity. Eg: setting the value of WebSocketPingInterval to 30 may lead to keep-alive messages sent to the client every 30 or 60 seconds.

Note: The Qlik Sense Proxy service may not send keep-alive packets if it detects activity on that client's Websocket tcp session.

Recommended is 60-300 second range, shorter interval generates more load on Proxy CPU and network. It should be set as high as possible, meaning it's best to identify at which interval an intermediate proxy cuts the connection when it perceives it as idle, and then set the ping interval to a slightly smaller value. 

A too small number (e.g. less than 30) will load the proxy and the network and IS NOT recommended. Suitable numbers could be 60 to 300 (i.e. 1 minute to 5 minutes), but it all depends on the network configuration (if the network removes web sockets that have been inactive for more than 5 minutes then, of course, the value must be set something less than 5 minutes (i.e. less than 300)). If a lower value is required, it is recommended to investigate the components involved in the connection, such as third party proxies and network load balancers to configure them with less restrictive timeouts. 

4. Restart the Qlik Sense Proxy Service.

Related content:

Labels (1)
Comments
RajanKasbe_Expo
Partner
Partner

After performing the step 1-4 mentioned above, how to validate the thing for which have performed those step. Or how to identify that NPrinting server is connecting to Qliksense server

Andre_Sostizzo
Digital Support
Digital Support

@RajanKasbe_Expo , are you performing this task to troubleshoot the connection setup on the NPrinting server? It is not clear how this post would assist with that task.

TCP Keep alive packets are sent to the server as long as you have an app open in Hub. These packets will show in a network capture. 

Version history
Revision #:
8 of 8
Last update:
‎2021-02-15 06:29 AM
Updated by:
 
Contributors