Need guidance on how I can configure one specific node ( sys_cluster_state) to be dedicated for processing Web Servi

Michael113
Kilo Contributor

Recently we turned on some integration with an external application. This app is doing a lot of REST API calls to our tables... We want to figure out how can we dedicate specific nodes only for processing those calls and do not affect users

1 ACCEPTED SOLUTION

peter_z
ServiceNow Employee
ServiceNow Employee

Let me suggest this.   Talk to support to get them to help understand the actual performance impact that you are having from this inbound integration.   There is probably several options to mitigate that, Such as:

  • can the query be optimised
  • is there any indexing opportunities
  • Is there processing code options
  • Should the inbound integration break into pages to reduce the size of data return set, etc..

As I said upfront,  there's potentially other solutions available to help out and reconfiguring the appnodes while possible to do is not something that would be done unless much of the other options had already been ruled out.

Each appNode configured on the instance is able to process 4 concurrent inbound requests by default and will "queue" inbound requests beyond this.  The semaphore will be held as long as the operations invoked are running on the platform.  This post may be helpful in background:

https://community.servicenow.com/community?id=community_article&sys_id=213ce661dbd0dbc01dcaf3231f961...

 

View solution in original post

6 REPLIES 6

peter_z
ServiceNow Employee
ServiceNow Employee

Hi Michael,  Its possible to do this but you'll need help from SNOW support and it would be something that you'd probably want to think through with them as it would take you into a place where you'd introduce complexity that would need to be managed.   

You haven't indicated why you'd want to do this,  are you experiencing long API semaphore hold times?  Integration user sessions stacking up? HTTP time outs on the client side?  

It may be a simpler solution to add additional appnodes to increase the horizontal capacity if you've increased inbound traffic markedly.

 

So basically there will be an API hitting the system around each 30 secs to pull cmdb data. I saw some performance affection so I want to isolate at least one worker for processing exclusively those calls.

 

I think I'll go ahead and open a ticket with Hi Support on this.

 

Thanks for your guidance.

 

Just if you wonder... I went to HI Support to help me on this. at the end I did not get any useful answer. We escalated the ticket so we get the right visibility. If I get any light I'll share it out.

peter_z
ServiceNow Employee
ServiceNow Employee

Let me suggest this.   Talk to support to get them to help understand the actual performance impact that you are having from this inbound integration.   There is probably several options to mitigate that, Such as:

  • can the query be optimised
  • is there any indexing opportunities
  • Is there processing code options
  • Should the inbound integration break into pages to reduce the size of data return set, etc..

As I said upfront,  there's potentially other solutions available to help out and reconfiguring the appnodes while possible to do is not something that would be done unless much of the other options had already been ruled out.

Each appNode configured on the instance is able to process 4 concurrent inbound requests by default and will "queue" inbound requests beyond this.  The semaphore will be held as long as the operations invoked are running on the platform.  This post may be helpful in background:

https://community.servicenow.com/community?id=community_article&sys_id=213ce661dbd0dbc01dcaf3231f961...