Update Semaphores Assigned for API_INT in a ServiceNow Instance

A ServiceNow instance has one or more application nodes. An application node is a Tomcat web server with a database. An application node (node) contains semaphores, which are a throttling concept. Essentially, semaphores execute and process transactions within an application node. ServiceNow has several semaphores to handle different transactions like API transactions, default pool transactions (user interaction within the platform, and more. When users log in, they end up on one of the available application nodes. Reallocate semaphore capacity to the API_INT semaphore to process REST API requests faster.

This requires an admin user with security_admin to update the ACL.

  1. Login with an admin user and elevate their role to security_admin.
    This role is required to update an ACL to reallocate semaphores.
  2. Navigate to sys_security_acl and search for sys_semaphore_set. Select the ACL with "Operation = write".
  3. Under Requires Role, add the admin role. Update or Save the ACL.
  4. To reallocate semaphores to API_INT, login and navigate to sys_semaphore_set.
  5. In the Semaphore ID column, group by Semaphore ID. Add the column for Max Concurrency.
    Semaphores can now be reallocated from the Default and Presence pools to API_INT.
  6. Update the three Default pools with a Max Concurrency of 16 to 10 and the four API_INT semaphores from 4 to 10. For the last API_INT semaphore, reallocate 6 from the Presence pool to update API_INT semaphore from 4 to 10.
  7. Navigate to https://<instance_name>.service-now.com/xmlstats.do?include=semaphores” to validate the changes are saved.
    Make sure there are no additional characters in the URL after "semaphores".