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.
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.
JReport Enterprise Server cluster supports several algorithms for load balancing clustered servers. Configurable algorithms for load balancing clustered servers are:
| Number of currently running report sets | |
| Weighted current report sets= |
|
| Performance Weight |
Performance weight is a positive float number that you set to each server in a cluster on the JReport Administration page on the admin server > Cluster > Weight tab. The higher performance weight you set to a clustered server, the higher chance it may get selected by the admin server during load balancing. See Configuring performance weight for how to set performance weight and how this algorithm works.
If you do not set performance weight, by default the algorithm will work same as Least Current Report Sets (Min-load) (loadbalance.type=0).
Notes:
<install_root>\bin.