How To / Best Practices to Maximize Uptime in Qlikview
Article Number: 000048121 | Last Modified: 2018/06/12
Description
If one wants to keep Qlikview services available continuously, what are the best practices to do this?
Environments:
Qlikview Server, all versions
Qlikview Publisher, all versions
High Availability Requirements
Cause
Qlikview Server Service (QVS) and Qlikview Webserver Service (QVWS) Every 2 seconds, a QVWS (or Settings Service if using IIS) requests an alive response from each QVS in a cluster. If that QVS node does not respond, then it is removed from the QVWS's internal list of alive QVS nodes and will not attempt to send workloads to it (for example, opening a document with that node). The QVWS will continue to send alive requests to the unresponsive QVS node, and once it gets an alive response back then the QVWS will add this QVS node back into its internal list of alive QVS nodes.
A separate consideration is the information populated in AccessPoint that displays the list of documents available to the user. When an user logs in, after they've been authenticated then the QVWS looks at the metadata cache to get the list of documents available to each user. A cache is used in this case for performance reasons; if the QVWS had to send a request to scan all mounted document folders every login, then performance would be negatively impacted. Therefore, every 10 minutes, each QVS updates a shared cache and the QVWS instead gets that information from the cache.
The caveat with this pattern is that if a document is only allowed to be loaded by a specific QVS node, it may show as available in Accesspoint yet when the user tries to open it then it cannot be loaded. This happens because the QVWS sees in the metadata cache that the user is allowed to see this document and therefore presents it in Accesspoint; however, because that document can only be loaded on a particular node, then if that node is not available then the document will not be loaded. This is why it is recommended to make sure documents can be available on all nodes if the goal is high availability and to also cluster the QVS services.
Qlikview Management Service (QMS) The QMS can be taken down and no other services will be affected. This is because the QMS only manages configuration information. This information is persisted to disk in XML files (the QVPR), and the QVS nodes are independently capable of reading those files without the QMS.
Qlikview Directory Service Connector (DSC) The DSC matters when the user tries to authenticate when requesting a document. If a DSC node is not available, then the user will not be able to authenticate and therefore will not see any documents in Accesspoint nor will they be able to access a document directly. Hence, it is recommended to cluster these services.
Resolution
Ensure that when a node in a cluster is taken down that the remaining nodes have enough resources to handle the increase in workload/traffic (true for any clustered service, not just Qlikview)
Allow documents to load on any node (In the QMC, under Documents > User Documents > {Specific Document} > Server > Performance > Document Control make sure the document is set to Always on All Nodes)
Cluster the Qlikview Server (QVS), so that at least one QVS is always available
Cluster the Qlikview Publisher (QDS), so that at least one QDS is always available
In 12.10 and higher, use graceful shut-down in the QMC; this tells the QDS node to finish running its tasks and to stop taking new tasks, then it shuts down the service. If the service is not shut down this way, queued tasks are unaffected due to centralized queuing--but running tasks on that node are affected.
Prior 12.10, select a gap in task schedule when no tasks should be running. If a node is shut-down both queued tasks and running tasks are affected.
Cluster the Directory Service Connector (DSC), so that at least one DSC is always available
Get Answers
Find Answers
Qlik Community
Collaborate with over 60,000 Qlik technologists and members around the world to get answers to your questions, and maximize success.
Experiencing a serious issue, please contact us by phone. For Data Integration related issues please refer to your onboarding documentation for current phone number.