modrate — measure modification throughput and response time
modrate
{options} [[attribute] | [:] | [value format string]...]
This utility can be used to measure modify throughput and response time of a directory service using user-defined modifications.
The following options are supported.
-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, --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 testing directory performance by using the modrate command to write random 16-character description values to all entries in a sample file.
$ grep ^uid: /path/to/Example.ldif | sed -e "s/uid: //" > names.txt $ modrate -p 1389 -D "cn=Directory Manager" -w password -A -F -c 4 -t 4 -b "uid=%s,ou=people,dc=example,dc=com" -g "rand(names.txt)" -g "randstr(16)" 'description:%2$s' -------------------------------------------------------------------------- Throughput Response Time (ops/second) (milliseconds) recent average recent average 99.9% 99.99% 99.999% err/sec req/res -------------------------------------------------------------------------- 1085.9 1088.5 993.849 993.849 2135.220 2510.361 2510.361 0.0 2.3 2086.7 1648.8 1963.980 1683.038 3015.025 3078.628 3215.050 0.0 1.0 3097.3 2092.6 1332.930 1524.278 2940.131 3024.811 3215.050 0.0 1.0 3848.3 2501.4 1045.000 1352.583 2902.235 3015.863 3215.050 0.0 1.0 3641.2 2717.4 1106.157 1290.003 2901.379 3015.597 3215.050 0.0 1.0 3759.4 2883.0 1065.732 1243.534 2900.400 3015.501 3215.050 0.0 1.0 ^C