PingDirectory

Testing SCIM query performance

You can use the scim-query-rate tool, provided in the SCIM SDK, to test query performance, by performing repeated resource queries against the SCIM server.

The scim-query-rate tool performs searches using a query filter or can request resources by ID. For example, you can test performance by using a filter to query randomly across a set of one million users with eight concurrent threads. The user resources returned to the client in this example is in XML format and includes the userName and name attributes.

scim-query-rate --hostname server.example.com --port 80 \
--authID admin --authPassword password --xml \
--filter 'userName eq "user.[1-1000000]"' --attribute userName \
--attribute name --numThreads 8

You can request resources by specifying a resource ID pattern using the --resourceID argument as follows:

scim-query-rate --hostname server.example.com --port 443 \
--authID admin --authPassword password --useSSL --trustAll\
--resourceName User \
--resourceID 'uid=user.[1-150000],ou=people,dc=example,dc=com'

The scim-query-rate tool reports the error "java.net.SocketException: Too many open files" if the open file limit is too low. You can increase the open file limit to increase the number of file descriptors.