Updating Semaphores Assigned for API_INT in a ServiceNow Instance

    ​An instance has one or more application nodes. An application node is a Tomcat web server with a database. When users log in, they end up on one of the available application nodes.

    An application node or 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.

    This article covers how to reallocate semaphore capacity from other semaphores to the API_INT semaphore to process REST API requests faster. This requires an admin user with security_admin to update the ACL. Perform the following:

    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​​.

    6. Semaphores can now be reallocated from the Default and Presence pools to API_INT.

    7. 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.
    8. ​Navigate to “​https://<instance_name>.service-now.com/xmlstats.do?include=semaphores​​” to validate the changes are saved.
    NOTE: Ensure there are no additional characters in the URL after "​semaphores​​".
    « Previous ArticleNext Article »