This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

SQL Load Balancer

I noticed that v7.0.1 now provides a SQL load balancer server function for job servers. Can anyone provide some guidance as to how to properly configure this? 

  • This server function means, that the server can run DBQueue Processor SQL tasks (for load balancing).

    So when the DBQueue Processor creates processes in the JobQueue, this server could be one of the servers executing those. This will not affect the processes marked to be executed by the MasterSQL server.
  • Thanks for the reply, Markus.

    Could you explain the best configuration for utilizing this feature? My assumption is that you pick a job server, or a pool of job servers, and assign the server function to each of them...
  • Your assumption is right. You assign the server function to a bunch of job servers that do not have the Master SQL server function assigned. The system will then distribute the generated processes across these servers in addition to the Master SQL job service.

    Please be aware that there is a hotfix available for 7.0.1 that solves a problem in combination with the AutoUpdate feature of the job services which is is fixed in 7.0.2. You could also request the hotfix for 7.0.1 from support by mentioning the issue number VPR#25045.
  • Good to know.

    How is the process distribution handled; Is it spread out evenly, or does it query the server pool some how and get assigned to the server with the least amount of load on it? Also, is there a way to manually assign specific SQL tasks to a specific job server, and is there a way to monitor what processes/tasks have been distributed to each job server?

    I may be confusing the two(job queue vs dbqueue) so I should ask this question... are the job servers actually processing the SQL tasks that are in the DBQueue?

    I appreciate all of the feedback. Load balancing is something that customers have been asking for for quite sometime. I would like to make sure that I have a thorough understanding of the function.
  • The DBQueue processor is still executing the calculations that are queued in the DB Queue. But as result of some of the calculations, subsequent operations have to be triggered using the object layer (one of these cases is the automatic approval of an approval step in the approval workflow).

    At this point the DBQueue processor creates process chains in the job queue to execute the subsequent operations. If you do not use the additional server function, these processes will created to be executed exclusively by the job service marked with the server function "Master SQL Server".

    The new algorithm distributes these generated process chains between the job services that do have either the server function "Master SQL Server" or "SQL processing enabled (for load balancing)" assigned. It uses the current load of the services in the job queue for its calculation.

    If you want to monitor which task have been distributed to which job service, you can use the JobQueue Monitor as you can do for all other processes.