searchrate — measure search throughput and response time
searchrate
{options} [filter format string] [attributes...]
This utility can be used to measure search throughput and response time of a directory service using user-defined searches.
The following options are supported.
-a, --dereferencePolicy {dereferencePolicy}
Alias dereference policy ('never', 'always', 'search', or 'find')
Default value: never
-A, --asynchronous
Use asynchronous mode and don't wait for results before sending the next request
-b, --baseDN {baseDN}
Base DN format string
-c, --numConnections {numConnections}
Number of connections
Default value: 1
-e, --percentile {percentile}
Calculate max response time for a percentile of operations
-f, --keepConnectionsOpen
Keep connections open
-F, --noRebind
Keep connections open and don't rebind
-g, --argument {generator function or static string}
Argument used to evaluate the Java style format strings in program parameters (Base DN, Search Filter). The set of all arguments provided form the the argument list in order. Besides static string arguments, they can be generated per iteration with the following functions:
Consecutive, incremental line from file
Consecutive, incremental number
Random line from file
Random number
charSet
)"Random string of specified length and optionally from characters in the charSet string. A range of character can be specified with [start-end] charSet notation. If no charSet is specified, the default charSet of [A-Z][a-z][0-9] will be used.
-i, --statInterval {statInterval}
Display results each specified number of seconds
Default value: 5
-m, --maxIterations {maxIterations}
Max iterations, 0 for unlimited
Default value: 0
-M, --targetThroughput {targetThroughput}
Target average throughput to achieve
Default value: 0
-s, --searchScope {searchScope}
Search scope ('base', 'one', 'sub', or 'subordinate')
Default value: sub
-S, --scriptFriendly
Use script-friendly mode
-t, --numConcurrentTasks {numConcurrentTasks}
Number of concurrent tasks per connection
Default value: 1
-D, --bindDN {bindDN}
DN to use to bind to the server
Default value: cn=Directory Manager
-E, --reportAuthzID
Use the authorization identity control
-h, --hostname {host}
Directory server hostname or IP address
Default value: localhost.localdomain
-j, --bindPasswordFile {bindPasswordFile}
Bind password file
-K, --keyStorePath {keyStorePath}
Certificate key store path
-N, --certNickname {nickname}
Nickname of certificate for SSL client authentication
-o, --saslOption {name=value}
SASL bind options
-p, --port {port}
Directory server port number
Default value: 389
-P, --trustStorePath {trustStorePath}
Certificate trust store path
-q, --useStartTLS
Use StartTLS to secure communication with the server
-T, --trustStorePassword {trustStorePassword}
Certificate trust store PIN
-u, --keyStorePasswordFile {keyStorePasswordFile}
Certificate key store PIN file
-U, --trustStorePasswordFile {path}
Certificate trust store PIN file
--usePasswordPolicyControl
Use the password policy request control
-w, --bindPassword {bindPassword}
Password to use to bind to the server
-W, --keyStorePassword {keyStorePassword}
Certificate key store PIN
-X, --trustAll
Trust all server SSL certificates
-Z, --useSSL
Use SSL for secure communication with the server
The command completed successfully.
An error occurred while parsing the command-line arguments.
The following example demonstrates measuring search performance.
$ grep ^uid: /path/to/Example.ldif | sed -e "s/uid: //" > names.txt $ searchrate -p 1389 -b dc=example,dc=com -A -F -c 4 -t 4 -g "rand(names.txt)" "(uid=%s)" ------------------------------------------------------------------------------- Throughput Response Time (ops/second) (milliseconds) recent average recent average 99.9% 99.99% 99.999% err/sec Entries/Srch ------------------------------------------------------------------------------- 1475.9 1475.9 0.423 0.423 6.938 126.236 126.236 0.0 1.0 2596.5 2038.4 0.254 0.315 6.866 12.980 126.236 0.0 1.0 3210.7 2428.2 0.205 0.267 5.733 11.710 126.236 0.0 1.0 3080.5 2591.0 0.215 0.252 5.733 10.541 126.236 0.0 1.0 3236.9 2720.1 0.203 0.240 5.258 10.514 126.236 0.0 1.0 3181.1 2796.8 0.207 0.234 5.258 10.384 126.236 0.0 1.0 3202.5 2854.8 0.206 0.229 4.825 10.384 126.236 0.0 1.0 ^C