Managing Report Server Clusters

Server clustering is the standard method for improving the scalability of a server system. Clustering uses multiple server instances to process client report requests, thus enhancing performance over the single-server configuration. Server clustering is transparent to the end-user.

The end-user interacts with a single server (the same as in a non-clustered environment), and a load balancer automatically directs the server requests to available cluster nodes to achieve maximum throughput. (In most cases you should use a hardware load balancer such as F5.).

demo
Read how InetSoft saves money and resources with deployment flexibility.

If a node becomes unresponsive, the load balancer detects the failure, removes the node from the node list, and stops forwarding requests to it. On recovery, the node is detected once again, and assigned new requests. The load balancer keeps track of sessions so that once a request is forwarded to a node, all subsequent requests from the same client will be forwarded to the same node. You can manage your cluster licenses from Enterprise Manager. It is recommended that you use a concurrent or named license key, since this requires only a single key for the clustered environment.

If you use core license keys, each cluster node must have a unique core license key. You can also monitor your cluster from the web-based Enterprise Manager. To manage a node, select it from the list of existing cluster nodes. You can prevent new sessions from being sent to the node by pausing it (click the 'Pause'/'Resume' button). Then you can wait until the existing users log off. This is useful if a node requires maintenance, and you do not wish existing users to be negatively impacted.

What Is a Report Server Cluster?

A Report Server Cluster is a configuration where multiple report servers are deployed together to provide high availability and improved performance for handling report generation and distribution tasks. It is a common setup in enterprise environments where the demand for reporting services is high and there's a need for fault tolerance and load balancing.

The main objectives of setting up a Report Server Cluster are:

  1. High Availability: By deploying multiple report servers in a cluster, if one server becomes unavailable due to hardware failure, software issues, or maintenance, the other servers in the cluster can take over the workload, ensuring that the reporting services remain available.

  2. Load Balancing: With multiple report servers, the incoming report requests can be distributed evenly across the servers, preventing overloading on any single server. This helps in maximizing resource utilization and improving overall system performance.

  3. Scalability: As the reporting demands grow, more servers can be added to the cluster, allowing the system to handle increased loads effectively.

  4. Failover: In the event of a report server failure, the cluster can be configured to automatically redirect the requests to the healthy servers, minimizing downtime and ensuring continuity of service.

  5. Centralized Management: Despite the presence of multiple servers, they can be managed and configured centrally as part of the cluster, simplifying administrative tasks.

A Report Server Cluster typically involves setting up a load balancer or a network component that distributes incoming report requests across the cluster nodes. The report servers are often configured to use a shared database or a network share to store the report definitions, data sources, and other resources required for generating reports.

It's important to note that the exact implementation and configuration of a Report Server Cluster may vary depending on the specific reporting platform or tools used in an organization. Popular reporting solutions like InetSoft and Microsoft SQL Server Reporting Services (SSRS) provide options for creating such clusters to ensure high availability and better performance for reporting services.

Previous: Configuring Report Server Clusters