Load balancing

In the cluster environment, JReport Enterprise Server provides a mechanism named load balancing which enables the server to work more effectively.

When a clustered server receives a task, it will send a load balancing request to the admin server. After receiving the request, the admin server can use one of the four algorithms JReport provides to select a clustered server, and then allocate the task to it.

Here are the benefits of deploying load balancing in a JReport Enterprise Server cluster.

Note: You can directly specify a server in a cluster to perform a scheduled task or an advanced-run task instead of using load balancing. To do this, first make sure that the Identify Server Preference option is enabled in the Profile dialog (Profile > Customize Server Preferences > Advanced > Identify Server Preference), and then use the With Load Balancer, prefer a server to run the task option in the Format tab of the Advanced Run dialog or the General tab of the Schedule dialog to specify a server manually.

Load detection

There is a JReport Enterprise Server residing in each node of a JReport Enterprise Server cluster. The main factor that affects load balancing is the number of concurrent report sets that are running on every JReport Enterprise Server. In order to avoid heavy load, two properties cluster.send_concurrent_reports and cluster.update_concurrent_reports_immediately are provided to enable sending the number of concurrently running report sets on member servers to the admin server immediately when the number changes.

Built-in load balancing algorithm

JReport Enterprise Server cluster supports several algorithms for load balancing clustered servers. Configurable algorithms for load balancing clustered servers are:

Notes:

Related topics: