Performance Best Practices

Data Retrieval Performance Considerations

Some APIs return large amounts of data, such as retrieving all tickets and retrieving Unified Security Policy violations. When using APIs such as these, we recommend that you use pagination wherever possible, rather than retrieving all the data in a single call. See the pagination section in Getting Started with the TOS API for additional details about pagination.

SecureTrack APIs that are used often that return large amounts of data include:

  • Get Rules
  • Get Network Objects
  • Get USP violations - in devices with large amount of rules see Get Unified Security Policy Violations

SecureChange APIs that are used often that return large amounts of data include:

  • Get Tickets
  • Get designer results
  • Get ticket after few steps with tools results

Memory Resource Considerations

Excessive use of memory-intensive resources by APIs can cause substantial degradation in system performance. Issues that may result include APIs returning the HTTP 500 error, and the UI appearing frozen for users logged into the system. We recommend that you do not make multiple parallel or concurrent calls to memory-intensive APIs.

If you are making many API calls serially that are data- or resource-intensive, we recommend that you insert a 5-10 second sleep between the API calls.

To leverage the multi-core CPU on the server:

  • If you use pagination, you can make up to 10 concurrent API calls on a single data retrieval
  • If you are calling an API that returns a small amount of data (for example retrieving the most recent policy revision on a device) you can make up to 10 concurrent API calls, and retrieve the latest policy revision for 10 devices simultaneously