Name
authrate — measure bind throughput and response time
Synopsis
authrate
{options} [filter format string] [attributes...]
Description
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.
Options
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:
- "inc({filename})"
-
Consecutive, incremental line from file
- "inc({min},{max})"
-
Consecutive, incremental number
- "rand({filename})"
-
Random line from file
- "rand({min},{max})"
-
Random number
- "randstr({length},
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
LDAP Connection Options
-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
Exit Codes
- 0
-
The command completed successfully.
- 89
-
An error occurred while parsing the command-line arguments.
Examples
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.