Limit of workers per node and instance

bertaso
Giga Contributor

If an application allows creating several asynchronous processes that are executed by workers and a maximum number of processes has not been established.

What is the maximum number of workers a node can support?

 

When the limit is reached on one node, is the worker created on the other automatically?

3 REPLIES 3

Tony Chatfield1
Kilo Patron

Hi, from memory each node has 8 configured workers and can deliver 2 more 'burst' workers at times of high loading.

The overriding factor you should consider when developing is not how many workers there are, but the way the platform functions as system task\functions are all assigned to the node workers.
Meaning that if the assigned worker are already utilized, then processing is queued and this includes all core functionality like systriggers, workflow, email processing (In and Out) etc.
So high or uncontrolled asynchronous processing is a very good way to bring a platform to it's knees.

Perhaps you can share details of your intentions, so that the forum can better understand the business drivers behind your question?

 

 

Hi Tony - are those 8 workers you mentioned not additional workers for scheduled jobs only, with 1 extra for bursting? So scheduled jobs don't depend on the availability of regular semaphores.

Hi JC, apologies my explanation is probably a little misleading and this is not my area of expertise – hopefully someone with a better understanding of the subject will step in and correct me.

Unsure where I got 2 burst workers from, but I suspect I misinterpreted the last paragraph here.
ServiceNow Platform Resourcing - Support and Troubleshooting

I have not seen a  clear explanation of how the platform functions, but think that the KB article is misleading where it states
'There is no queuing for jobs because the workers will simply pull jobs from the sys_trigger queue in the order that they need to be executed.'
Whereas real-world observations suggest that ‘scheduled ‘ jobs are queued against a worker
 and that as the platform is pretty much batch processed end to end, as just about everything not related directly to user interaction is (or will be) queued to a worker for processing.

Based on this article
Instance Performance Maintenance and Administration - Developer Community - Article - ServiceNow Com...
Each node has 1 burst worker that will process high priority scheduled jobs and these burst workers are triggered if a high priority job is 60 seconds overdue.

The impact of available semaphores on scheduled jobs is not clear to me, but as semaphores control access to shared resource
Semaphore in Java | How to use Semaphore with Example | Edureka
I would expect that all scheduled jobs would be subject to resource availability\semaphores when they run, as instance resource is finite.