You can enhance the performance of large-scale bpm’online projects (up to several thousands users) through horizontal scaling — increasing the number of servers with deployed bpm’online applications and distributing the workload between them.
The load balancer may be either hardware or software. To work in fault-tolerant mode, use the HTTP/HTTPS traffic balancer with support of “sticky sessions" and the WebSocket protocol. Bpm’online has been tested on HAproxy and MS ARR (Microsoft Advanced Request Routing) software load balancers. There are cases of successful implementation of other balancers, e.g., Citrix, Cisco, NginX, FortiGate.
This guide covers horizontal scaling of bpm’online application using a free open-source load balancer “HAProxy”, which would distributing the load between several application servers.
General deployment procedure
To deploy bpm’online with horizontal scaling of application servers:
1.Deploy the needed number of application instances in a web-farm.
The parameters and the needed number of server sessions for different scaling cases are specified in the system requirements to bpm’online servers.
Bpm’online on-site deployment procedure is available in a separate article.
2.In the <appSettings> block of the application “Web.config” configuration file, add the following key:
<add key="TenantId" value="1" />
The “value” number should be the same for all application instances of the web-farm.
3.Set up the HAProxy balancer for distributing the workload between the deployed application servers.
4.If needed, set up balancing the workload for database and session servers.
More information about clustering ofand DBMS is available in the documentation for these products. The procedure for setting up bpm’online session server fault-tolerance via Redis Sentinel in our User Guide.