Data Sync Server Documentation Index
Command-Line Tool Reference Home

search-and-mod-rate

Description
Examples
Arguments

Description

Perform repeated searches against an LDAP directory server and modify each entry returned.

Examples

Test search and modify performance by searching randomly across a set of one million users located below 'dc=example,dc=com' with ten concurrent threads. The entries returned to the client will include the givenName, sn, and mail attributes, and the description attribute of each entry returned will be replaced with a string of ten randomly-selected alphanumeric characters.
search-and-mod-rate --hostname server.example.com --port 389 \
     --bindDN uid=admin,dc=example,dc=com --bindPassword password \
     --baseDN dc=example,dc=com --scope sub --filter "(uid=user.[1-1000000])" \
     --attribute givenName --attribute sn --attribute mail \
     --modifyAttribute description --valueLength 10 \
     --characterSet abcdefghijklmnopqrstuvwxyz0123456789 --numThreads 10


Generate a sample variable rate definition file that may be used in conjunction with the --variableRateData argument. The sample file will include comments that describe the format for data to be included in this file.
search-and-mod-rate --generateSampleRateFile variable-rate-data.txt

For examples and help with LDAP options see LDAP Option Help. For help with SASL authentication, see SASL Option Help

Arguments

-V
--version

Description Display Data Sync Server version information

-H
--help

Description Display general usage information

--help-ldap

Description Display help for using LDAP options

--help-sasl

Description Display help for using SASL options

--help-debug

Description Display help for using debug options
Advanced Yes

-h {host}
--hostname {host}

Description The IP address or resolvable name to use to connect to the directory server. If this is not provided, then a default value of 'localhost' will be used.
Default Value localhost
Required Yes
Multi-Valued Yes

-p {port}
--port {port}

Description The port to use to connect to the directory server. If this is not provided, then a default value of 389 will be used.
Default Value 389
Required Yes
Multi-Valued No

-D {dn}
--bindDN {dn}

Description The DN to use to bind to the directory server when performing simple authentication.
Required No
Multi-Valued No

-w {password}
--bindPassword {password}

Description The password to use to bind to the directory server when performing simple authentication or a password-based SASL mechanism.
Required No
Multi-Valued No

-j {path}
--bindPasswordFile {path}

Description The path to the file containing the password to use to bind to the directory server when performing simple authentication or a password-based SASL mechanism.
Required No
Multi-Valued No

--promptForBindPassword

Description Indicates that the tool should interactively prompt the user for the bind password.

-Z
--useSSL

Description Use SSL when communicating with the directory server.

-q
--useStartTLS

Description Use StartTLS when communicating with the directory server.

-X
--trustAll

Description Trust any certificate presented by the directory server.

-K {path}
--keyStorePath {path}

Description The path to the file to use as the key store for obtaining client certificates when communicating securely with the directory server.
Required No
Multi-Valued No

-W {password}
--keyStorePassword {password}

Description The password to use to access the key store contents.
Required No
Multi-Valued No

-u {path}
--keyStorePasswordFile {path}

Description The path to the file containing the password to use to access the key store contents.
Required No
Multi-Valued No

--promptForKeyStorePassword

Description Indicates that the tool should interactively prompt the user for the password to use to access the key store contents.

--keyStoreFormat {format}

Description The format (e.g., JKS, PKCS12, PKCS11, BCFKS, etc.) for the key store file.
Required No
Multi-Valued No

-P {path}
--trustStorePath {path}

Description The path to the file to use as trust store when determining whether to trust a certificate presented by the directory server.
Required No
Multi-Valued No

-T {password}
--trustStorePassword {password}

Description The password to use to access the trust store contents.
Required No
Multi-Valued No

-U {path}
--trustStorePasswordFile {path}

Description The path to the file containing the password to use to access the trust store contents.
Required No
Multi-Valued No

--promptForTrustStorePassword

Description Indicates that the tool should interactively prompt the user for the password to use to access the trust store contents.

--trustStoreFormat {format}

Description The format (e.g., JKS, PKCS12, PKCS11, BCFKS, etc.) for the trust store file.
Required No
Multi-Valued No

-N {nickname}
--certNickname {nickname}

Description The nickname (alias) of the client certificate in the key store to present to the directory server for SSL client authentication.
Required No
Multi-Valued No

-o {name=value}
--saslOption {name=value}

Description A name-value pair providing information to use when performing SASL authentication.
Required No
Multi-Valued Yes

--useSASLExternal

Description Use the SASL EXTERNAL mechanism to authenticate.

--helpSASL

Description Provide information about the supported SASL mechanisms, including the properties available for use with each.

-b {dn}
--baseDN {dn}

Description The base DN to use for the searches. It may be a simple DN or a value pattern to specify a range of DNs (e.g., "uid=user.[1-1000],ou=People,dc=example,dc=com"). See https://docs.ldap.com/ldap-sdk/docs/javadoc/index.html?com/unboundid/util/ValuePattern.html for complete details about the value pattern syntax. This must be provided.
Required Yes
Multi-Valued No

-s {scope}
--scope {scope}

Description The scope to use for the searches. It should be 'base', 'one', 'sub', or 'subord'. If this is not provided, then a default scope of 'sub' will be used.
Allowed Values sub
subord
base
one
Default Value SUB
Required No
Multi-Valued No

-f {filter}
--filter {filter}

Description The filter to use for the searches. It may be a simple filter or a value pattern to specify a range of filters (e.g., "(uid=user.[1-1000])"). See https://docs.ldap.com/ldap-sdk/docs/javadoc/index.html?com/unboundid/util/ValuePattern.html for complete details about the value pattern syntax. This must be provided.
Required Yes
Multi-Valued No

-A {name}
--attribute {name}

Description The name of an attribute to include in entries returned from the searches. Multiple attributes may be requested by providing this argument multiple times. If no request attributes are provided, then the entries returned will include all user attributes.
Required No
Multi-Valued Yes

-m {name}
--modifyAttribute {name}

Description The name of the attribute to modify. Multiple attributes may be specified by providing this argument multiple times. At least one attribute must be specified.
Required Yes
Multi-Valued Yes

-l {num}
--valueLength {num}

Description The length in bytes to use when generating values for the modifications. If this is not provided, then a default length of ten bytes will be used.
Upper Bound 2147483647
Default Value 10
Required Yes
Multi-Valued No

-C {chars}
--characterSet {chars}

Description The set of characters to use to generate the values for the modifications. It should only include ASCII characters. If this is not provided, then a default set of lowercase alphabetic characters will be used.
Default Value abcdefghijklmnopqrstuvwxyz
Required Yes
Multi-Valued No

--searchAssertionFilter {filter}

Description Indicates that search requests should include the assertion request control with the specified filter.
Required No
Multi-Valued No

--modifyAssertionFilter {filter}

Description Indicates that modify requests should include the assertion request control with the specified filter.
Required No
Multi-Valued No

--simplePageSize {size}

Description Indicates that search requests should include the simple paged results control with the specified page size.
Upper Bound 2147483647
Required No
Multi-Valued No

--permissiveModify

Description Indicates that modify requests should include the permissive modify request control.

--preReadAttribute {attribute}

Description Indicates that modify requests should include the pre-read request control with the specified requested attribute. This argument may be provided multiple times to indicate that multiple requested attributes should be included in the pre-read request control.
Required No
Multi-Valued Yes

--postReadAttribute {attribute}

Description Indicates that modify requests should include the post-read request control with the specified requested attribute. This argument may be provided multiple times to indicate that multiple requested attributes should be included in the post-read request control.
Required No
Multi-Valued Yes

-Y {authzID}
--proxyAs {authzID}

Description Indicates that the proxied authorization control (as defined in RFC 4370) should be used to request that operations be processed using an alternate authorization identity. This may be a simple authorization ID or it may be a value pattern to specify a range of identities. See https://docs.ldap.com/ldap-sdk/docs/javadoc/index.html?com/unboundid/util/ValuePattern.html for complete details about the value pattern syntax.
Required No
Multi-Valued No

--searchControl {oid}[:{criticality}[:{stringValue}|::{base64Value}]]

Description Indicates that search requests should include the specified request control. This may be provided multiple times to include multiple search request controls.
Required No
Multi-Valued No

--modifyControl {oid}[:{criticality}[:{stringValue}|::{base64Value}]]

Description Indicates that modify requests should include the specified request control. This may be provided multiple times to include multiple modify request controls.
Required No
Multi-Valued No

-t {num}
--numThreads {num}

Description The number of threads to use to perform the searches. If this is not provided, then a default of one thread will be used.
Upper Bound 2147483647
Default Value 1
Required Yes
Multi-Valued No

-i {num}
--intervalDuration {num}

Description The length of time in seconds between output lines. If this is not provided, then a default interval of five seconds will be used.
Upper Bound 2147483647
Default Value 5
Required Yes
Multi-Valued No

-I {num}
--numIntervals {num}

Description The maximum number of intervals for which to run. If this is not provided, then the tool will run until it is interrupted.
Upper Bound 2147483647
Default Value 2147483647
Required Yes
Multi-Valued No

--iterationsBeforeReconnect {num}

Description The number of search and modify iterations that should be processed on a connection before that connection is closed and replaced with a newly-established (and authenticated, if appropriate) connection. If this is not provided, then connections will not be periodically closed and re-established.
Lower Bound -2147483648
Upper Bound 2147483647
Default Value 0
Required No
Multi-Valued No

-r {searches-per-second}
--ratePerSecond {searches-per-second}

Description The target number of searches to perform per second. It is still necessary to specify a sufficient number of threads for achieving this rate. If neither this option nor --variableRateData is provided, then the tool will run at the maximum rate for the specified number of threads.
Upper Bound 2147483647
Required No
Multi-Valued No

--variableRateData {path}

Description The path to a file containing information that can be used to cause the tool to vary the target rate over time. Use the generateSampleRateFile argument to generate a sample rate definition file with comments that describe the required format for this file.
Required No
Multi-Valued No

--generateSampleRateFile {path}

Description The path to a sample variable data rate file that should be generated. This file will contain comments that describe the expected format for the file to use with the variableRateData argument.
Required No
Multi-Valued No

--warmUpIntervals {num}

Description The number of intervals to complete before beginning overall statistics collection. Specifying a nonzero number of warm-up intervals gives the client and server a chance to warm up without skewing performance results.
Upper Bound 2147483647
Default Value 0
Required Yes
Multi-Valued No

--timestampFormat {format}

Description Indicates the format to use for timestamps included in the output. A value of 'none' indicates that no timestamps should be included. A value of 'with-date' indicates that both the date and the time should be included. A value of 'without-date' indicates that only the time should be included.
Default Value none
Required Yes
Multi-Valued No

--suppressErrorResultCodes

Description Indicates that information about the result codes for failed operations should not be displayed.

-c
--csv

Description Generate output in CSV format rather than a display-friendly format

-R {value}
--randomSeed {value}

Description Specifies the seed to use for the random number generator.
Lower Bound -2147483648
Upper Bound 2147483647
Required No
Multi-Valued No

--interactive

Description Launch the tool in interactive mode.

--outputFile {path}

Description Write all standard output and standard error messages to the specified file instead of to the console.
Required No
Multi-Valued No

--appendToOutputFile

Description Indicates that the tool should append to the file specified by the --outputFile argument if it already exists. If this argument is not provided and the output file already exists, it will be overwritten.

--teeOutput

Description Write all standard output and standard error messages to the console as well as to the specified output file. The --outputFile argument must also be provided.

--propertiesFilePath {path}

Description The path to a properties file used to specify default values for arguments not supplied on the command line.
Required No
Multi-Valued No

--generatePropertiesFile {path}

Description Write an empty properties file that may be used to specify default values for arguments.
Required No
Multi-Valued No

--noPropertiesFile

Description Do not obtain any argument values from a properties file.

--suppressPropertiesFileComment

Description Suppress output listing the arguments obtained from a properties file.