authrate — measure bind throughput and response time
authrate
{options} [filter format string] [attributes...]
This utility can be used to measure bind throughput and response time of a directory service using user-defined bind or search-then-bind operations.
Format strings may be used in the bind DN option as well as the authid and authzid SASL bind options. A search operation may be used to retrieve the bind DN by specifying the base DN and a filter. The retrieved entry DN will be appended as the last argument in the argument list when evaluating format strings.
The following options are supported.
-a, --dereferencePolicy {dereferencePolicy}
Alias dereference policy ('never', 'always', 'search', or 'find')
Default value: never
-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
-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
-I, --invalidPassword {invalidPassword}
Percent of bind operations with simulated invalid password
Default value: 0
-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
-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 simple bind performance.
$ authrate -p 1389 -g "rand(names.txt)" -D "uid=%s,ou=people,dc=example,dc=com" -w password -c 10 -f ----------------------------------------------------------------- Throughput Response Time (ops/second) (milliseconds) recent average recent average 99.9% 99.99% 99.999% err/sec ----------------------------------------------------------------- 9796.9 9816.6 1.029 1.029 12.413 161.451 161.835 0.0 14201.1 12028.1 0.704 0.835 9.508 161.456 167.573 0.0 14450.0 12835.9 0.692 0.782 8.989 161.835 174.518 0.0 12934.3 12860.6 0.773 0.779 9.253 161.339 174.426 0.0 14154.5 13121.0 0.706 0.764 9.025 161.451 177.101 0.0 ^C
The names.txt
contains all the user IDs for the
sample suffix, and all user password values have been set to
password
for this example.