QlikView Server Load Sharing (Clustering) with Architecture
1. QlikView Server Clustering – Objective
We have learned about QlikView’s architecture and its components. An important component is the QlikView Server. In this tutorials, we will study architecture and QlikView Server Load Sharing or QlikView Server Clustering.
So, let’s start QlikView Server Load Sharing Tutorial.
2. QlikView Architecture
The image gives an overview of QlikView’s architecture with arrows showing the flow of data between different components like a server, publisher, developer, web server etc. The entire framework of architecture divides into two parts, the frontend and the backend. The frontend refers to all the applications where user interaction happens i.e. where users access the documents, files and work on them. Whereas the backend refers to the services and systems, both hardware and software, involved right from fetching data files from the data source to presenting the files to the user. Components like the developer, server, web server publisher, management console (QMC) are part of the backend.
QVS can be a single server or clustered server. QlikView Server Load sharing or clustering is a process of distributing load amongst the several servers that are a part of the server network or cluster. At a time only one process can run on one QlikView server (QVS). The server uses to take files from the publisher then either pass it to the web server (IIS) which passes it on to the user or directly provide it to the user. So, either directly or indirectly, the server’s most important task is to maintain a server-client interaction or communication. Such a communication needs three primary processes to fall in place and a few other machines, networks and subordinate processes. The process is:
i. QlikView Server (QVS)
It provides QlikView services to the client. It is important for the machine that hosts this service to be running on a Microsoft Windows operating system.
It communicates with the QlikView Server either directly or through the web server to provide the QlikView interface and functionality to the end user.
iii. Web Server
It is used to run an HTTP server which serves HTML web pages to the client. It also assists with the authentication of the user and enables communication between the client and QVS.
The QlikView’s server-client communication is facilitated by request protocols namely QVP and QVPX that establishes a connection between the server and the user, and server and the web browser, respectively. However, Windows client establishes a direct connection with QlikView Server by QVP on port 4747. While on the other hand, AJAX and mobile clients can’t have a direct connection to a server. They must connect via web browser/server using QVPX protocol (port 80). The web server then connects with the server using QVPX2 protocol on port 4747. After establishing the connection between client and server the server provides documents to the user. In order to be able to do that, a user needs to have a Client Access License (CAL).
3. What is Server Load Sharing in QlikView?
When there is more than one server working together to manage data load, then it is called clustering of servers. These clustered servers then distribute or share the incoming load which increases the speed, capacity, performance and reliability on the deployment. In QlikView server load sharing, a file irrespective of its physical location can assign to any server that is a part of the cluster. This process manages data load and network traffic very efficiently by distributing data load between servers and assigning different server for different data files so that no load is too much load. Such load sharing is managed by a load balancer that distributes the incoming network load (client requests) to the servers as per their availabilities. In the case where a server goes down, the traffic assigned to that server is redirected to a different server.
4. QlikView Server Load Sharing
A similar QlikView server load sharing takes place with servers (clustered). However, to be able to practice load sharing, a cluster-enabled QlikView Server license is required. Through QlikView load sharing, real-time sharing, automated document loading, sharing user CALs is possible across multiple machines. QlikView only supports Windows load sharing. To cluster the servers, similar server configurations must share between all the QlikView Servers (QVS) that are part of the cluster. All the servers (individually and in a cluster) manage by the QlikView Management Console (QMC).
Performance monitoring of QVSs can do through QMC. And load balancing/sharing settings can set from the QlikView Web Server (QVWS). The document related data transfer calls as Document Meta-Data Service (DMS) and the document transfer also distribute on all the QVSs. The QVSs so place so that the data flow of all the servers should point towards the same target location. QVS also maintains a QlikView load sharing file (with a .pgo extension) which contains all the important data related to load sharing in QlikView.
5. Important Files
In this section, we are attaching details of important files and information about QlikView Server and QlikView Server Load Sharing. It includes files like settings, configuration, cluster, logs and a few special files.
i. Overview of Important Files
- Executable File: %ProgramFiIes%\QIikView\Server\QVS.exe
- Data file: %ProgramData%\QIikTech\QIikViewServer
- Protocol used: QVP: 4747; QVP (tunneling): 4774; Broadcast: 14747; SNMP: 161
- Used by Services: QDS, QMS, QVWS, QlikView Desktop/Internet Explorer plugin/OCX
ii. Setting and Configuration Files
- Settings.ini file stores the QlikView Server (QVS) settings.
QVS uses .pgo files to coordinate a cluster and these files are stored in the “Data” folder. Some important .pgo files are mentioned below.
- BorrowedCaIData.pgo file manages borrowed Client Access Licenses (CALs).
- CalData.pgo file keeps track of CALs.
- IniData.pgo file is the coordinated version of Settings.ini file.
- ServerCounters.pgo file keeps track of statistics.
- TicketData.pgo file keeps track of tickets.
The logs are kept one per node in the cluster, some of the important log files are mentioned below.
- Events_<computer_name>.log file for the event log.
- Performance_<computer_name>.log file for performance log.
- Sessions_<computer_name>.log file for session log.
v. Special Folders
There are some special folders as well which stores in the “Data” folder.
All the extensions stores here and QVS looks for extensions in this folder. All such extensions can manage from one place i.e. the QlikView Management Console (QMC). This folder has to create manually. The object extensions locate in Extension\Object and document extensions locate in Extension\Document.
This folder is used by QVS to store temporary folders like exporting files using an AJAX client etc.
So, this was all about QlikView Server Load Sharing Tutorial. Hope you like our explanation.
Hence, we studied the process of QlikView server load sharing is a very crucial process in the efficient backend working of a system. It ensures that no server overload with heavy data load and the network traffic distribute amongst the servers to increase system output, performance and efficiency. Furthermore, if you have any query, feel free to ask in the comment section.
Related Topic – QlikView Script Statements