Job Engine Service
This topic is only applicable to Archer on-premises installations.
The Job Engine service administers all asynchronous job processing. This runs on the Services Server.
On this page
Asynchronous jobs
Asynchronous jobs run 2 tasks that initiate and run independently.
The Job Engine service processes all asynchronous jobs, including:
- Data feeds
- Findings generation
- Notifications
- Recalculations
- System jobs
Some asynchronous jobs are purely administrative; others are generated by user activity. Use cases that frequently use notifications or calculations generate more asynchronous jobs as the number of users increases.
The following sections describe tasks that you can review on a regular basis to ensure your system is operating at peak potential, based upon the size of your environment.
Job Engine Service tasks to review for all environments
As your system grows and you need to adjust your Job Server settings, follow these general practices regardless of your environment size:
- Add more Memory (RAM), available CPU cores, or both, to improve the performance of:
- Data Feeds
- Calculation jobs
- Large numbers of individual notifications
- Make gradual changes to Job Engine service threads. A thread is the smallest sequence of programmed instructions that can be managed independently by a scheduler. Adding threads can improve system performance. For example, a Job Engine service set for 10 threads can benefit from a higher setting of 12. Observe system performance, and make additional adjustments following the same approach.
Important: Do not change the threads setting from 10 to 20 without first observing the effects of the interim settings.
- Allocate Job Engine service thread settings properly:
- Thread over-allocation occurs when an increased number of configured Job Engine threads negatively affects job completion and job queue lengths. If average CPU utilization during Job Engine activity is above 80%, decrease the number of configured threads, and consider dedicating another Service Server to the Job Engine service.
- Thread under-allocation occurs when a very low thread setting creates a sequence of backlogged jobs, causing significant delays until completion. Gradually increase the number of threads, observe system performance, and make additional adjustments following the same approach.
- Dedicate additional Service Servers to the Job Engine to reduce pressure on available resources. You can dedicate a Service Server to a particular type (or several types) of Job Engine activity:
- For environments dedicating more than 1 Service Server to the Job Engine service, the Discontinue Job Processing option within the Archer Control Panel Job Engine Plug-in affects all configured Service Servers in the environment, not just the currently selected 1. For more information, see "Managing Asynchronous Job Processing" in the Archer Control Panel Help.
- The use of virtualized Service Servers for the Job Engine service is acceptable, so long as users configure servers according to industry best practices, and properly allocate CPU and memory resources. For more information, see Virtualization.
Job Engine Service tasks to review for Very Small to Medium Environments
For very small to medium environments, the default Job Engine configuration settings provide an adequate degree of asynchronous job throughput and acceptable job queue length. Follow these suggestions to further improve performance:
- Configure smaller Archer environments with less intensive workloads with the Job Engine service running on the same server as the Web platform components.
- Adjust Job Engine threads:
- For unconstrained Job Engine CPU and Memory resources, increase the Job Engine threads.
- For overwhelmed Job Engine CPU and Memory resources, decrease the Job Engine threads
Job Engine Service tasks to review for Large and Very Large Environments
For large scale Archer environments, improve performance by modifying the default Job Engine service settings:
- Separate the Job Engine service from the Web Application component.
- Give the Job Engine service a dedicated Services Server.
- Dedicate 1 Services Server to particular Job Engine activities, such as offline access functionality.