Configuring Manual Load Partitioning
7 min
about manual load partitioning use the service server workspace to configure the manual load partitioning feature the manual load partitioning feature allows you to allocate the load between workflow or email service instances based on your knowledge of the tenant load and server capacity when you start up the services, the workflow and email services retrieve the list of assigned tenants the services only process the tasks for the assigned tenants the system updates the list of assigned tenants in predefined time intervals if the list of tenants is empty, the system falls back to the default behavior of processing all of the tenants email load balancing flowchart for the email service and workflow service, all load partitioning is done manually changes are configured in the appsettings json file at the binary folder by default enableloadpartitioning key remains false in the appsettings json , enabling it disrupts the whole workflow service assigning tenants to the workflow or email service when you configure workflow or email service servers, ensure that at least one server is defined as the "catch all" server a "catch all" server manages all of the live tenants, even if it does not have any tenants associated with it each host should have at least one "catch all" server this server processes workflow and email events for all tenants for each server, you must enable either the email service, the workflow service, or both if you do not enable a service on the server but the service is running, the service gets an empty tenant list and it runs as a "catch all" server if a service instance crashes or stops, the system deletes the partition details from the database and no other instance will pick these tenants except for the "catch all" server log in to the configdb from the workspace selector bar, click more select service server the system displays the service server workspace click new service server enter the host name in the host name field if the email service will run on this server, check is email service enabled if the workflow service will run on this server, check is workflow service enabled if the server is a catch all server, check is catch all if the server is not a catch all server, do the following a click the tenants tab b click link c highlight a tenant from the list and click select click save viewing the results of the manual load partitioning you can view the results of the manual load partitioning in one of two ways viewing the info log for a service see setting the log level for the workflow or email service docid\ yia yxk7rkczkghav fkj and viewing the workflow or email manual load partitioning docid\ yia yxk7rkczkghav fkj viewing a report of the load partitioning through microsoft sql see viewing a report of the manual load partitioning docid\ yia yxk7rkczkghav fkj setting the log level for the workflow or email service to configure the logs, do the following log in to the configdb open the logging configuration workspace open the workflowservice service change the value of the log level field to info open the emailservice service change the value of the log level field to info click save viewing the workflow or email manual load partitioning after you configure the logs, to view the results, do the following log into the configdb open the logs workspace use a saved search to show all logs with a service name of workflowservice or a service name of emailservice logs saved search verify that the tenants listed under the current assigned tenant list match the linked tenants for this server viewing a report of the manual load partitioning the workflow or email service retrieves the assigned tenants and updates the frs ops workflow heart beat and frs ops workflow partition tables in the configdb before you begin, start the workflow or email service keep the current session run the following query in microsoft sql on the configdb to see the details of the services that are assigned to each tenant select servicetype, hostname, instancenumber, tenantid from frs ops workflow heart beat heartbeat join frs ops workflow partition partition on heartbeat serviceid = partition serviceid the following is an example of the partitioning details service type host name instance number tenant id workflow engine ca l02552 1 configdb, itsm 7 daily build email engine ca l02552 1 configdb, itsm 7 daily build
