1LDCLT(1)                    General Commands Manual                   LDCLT(1)
2
3
4

NAME

6       ldclt - load test program for LDAP
7

SYNOPSIS

9       ldclt  [-qQvV] [-E <max errors>] [-b <base DN>] [-h <host>] [-p <port>]
10       [-t <timeout>] [-D <bind DN>] [-w <passwd>] [-o <SASL option>] [-e <ex‐
11       ecParams>] [-a <max pending>] [-n <nb threads>] [-i <nb times>] [-N <nb
12       samples>] [-I <err number>] [-T <total>] [-r <low> -R <high>] [-f <fil‐
13       ter>]  [-s  <scope>] [-S <consumer>] [-P<supplier port>] [-W <waitsec>]
14       [-Z <certfile>]
15

DESCRIPTION

17       This tool is a LDAP client targeted to validate the reliability of  the
18       product under a wide variety of stress conditions.
19

OPTIONS

21       The valid options are:
22
23       -a     Asynchronous mode, with max pending operations.
24
25       -b     Give the base DN to use. Default "dc=example,dc=com".
26
27       -D     Bind DN. See -w
28
29       -E     Max errors allowed. Default 1000.
30
31       -f     Filter for searches.
32
33       -h     Host to connect. Default "localhost".
34
35       -H     Ldap  URL  to  connect  to.  Example, ldap://localhost:389. This
36              takes precedence over -h and -p.
37
38       -i     Number of times inactivity allowed. Default 3 (30 seconds)
39
40       -I     Ignore errors (cf. -E). Default none.
41
42       -n     Number of threads. Default 10.
43
44       -N     Number of samples (10 seconds each). Default infinite.
45
46       -o     SASL Option.
47
48       -p     Server port. Default 389.
49
50       -P     Supplier port (to check replication). Default 16000.
51
52       -q     Quiet mode. See option -I.
53
54       -Q     Super quiet mode.
55
56       -r     Range's low value.
57
58       -R     Range's high value.
59
60       -s     Scope. May be base, subtree or one. Default subtree.
61
62       -S     Consumer to check.
63
64       -t     LDAP operations timeout. Default 30 seconds.
65
66       -T     Total number of operations per thread. Default infinite.
67
68       -v     Verbose.
69
70       -V     Very verbose.
71
72       -w     Bind passwd. See -D.
73
74       -W     Wait between two operations. Default 0 seconds.
75
76       -Z     certfile. Turn on SSL and use certfile as the certificate DB
77
78       -e     Execution parameters:
79
80              add ldap_add() entries.
81              append entries to the genldif file.
82              ascii use ascii 7-bits strings.
83              attreplace=name:mask replace attribute of existing entry.
84              attrlist=name:name:name specify list of attribs to retrieve
85              attrsonly=0|1 ldap_search() parameter. Set 0 to read values.
86              bindeach ldap_bind() for each operation.
87              bindonly only bind/unbind, no other operation is performed.
88              close will close() the fd, rather than ldap_unbind().
89              cltcertname=name name of the SSL client certificate
90              commoncounter all threads share the same counter.
91              counteach count each operation not only successful ones.
92              delete ldap_delete() entries.
93              dontsleeponserverdown will loop very fast if server down.
94              emailPerson objectclass=emailPerson (-e add only).
95              esearch exact search.
96              genldif=filename generates a ldif file
97              imagesdir=path specify where are the images.
98              incr incremental values.
99              inetOrgPerson objectclass=inetOrgPerson (-e add only).
100              keydbfile=file filename of the key database
101              keydbpin=password password for accessing the key database
102              noglobalstats don't print periodical global statistics
103              noloop does not loop the incremental numbers.
104              object=filename build object from input file
105              person objectclass=person (-e add only).
106              random random filters, etc...
107              randomattrlist=name:name:name random select attrib in the list
108              randombase random base DN.
109              randombaselow=value low value for random generator.
110              randombasehigh=value high value for random generator.
111              randombinddn random bind DN.
112              randombinddnfromfile=fine retrieve bind DN & passwd from file
113              randombinddnlow=value low value for random generator.
114              randombinddnhigh=value high value for random generator.
115              rdn=attrname:value alternate for -f.
116              referral=on|off|rebind change referral behaviour.
117              scalab01 activates scalab01 scenario.
118              scalab01_cnxduration maximum connection duration.
119              scalab01_maxcnxnb modem pool size.
120              scalab01_wait sleep() between 2 attempts to connect.
121              smoothshutdown main thread waits till the worker threads exit.
122              string create random strings rather than random numbers.
123              v2 ldap v2.
124              withnewparent rename with newparent specified as argument.
125              randomauthid random SASL Authid.
126              randomauthidlow=value low value for random SASL Authid.
127              randomauthidhigh=value high value for random SASL Authid.
128

EXAMPLES

130       To populate a database with  1000  user  objects  create  a  file  tem‐
131       plate.ldif containing:
132
133              objectClass: top
134              objectclass: person
135              objectClass: organizationalPerson
136              objectClass: inetorgperson
137              objectClass: posixAccount
138              objectClass: shadowAccount
139              sn: user[A]
140              cn: user[A]
141              givenName: user[A]
142              description: description[A]
143              userPassword: password[A]
144              mail: user[A]@example.com
145              uidNumber: 1[A]
146              gidNumber: 1[A]
147              shadowMin: 0
148              shadowMax: 99999
149              shadowInactive: 30
150              shadowWarning: 7
151              homeDirectory: /home/uid[A]
152
153       This can now be loaded to the database using:
154
155              ldclt -h localhost -p 389 -D "cn=Directory Manager" -w password -b "ou=people,dc=example,dc=com" -I 68 -e add,commoncounter -e "object=/tmp/template.ldif,rdn=uid:user[A=INCRNNOLOOP(0;999;4)]"
156
157       Using these created users you can test binding to the accounts with:
158
159              ldclt -h localhost -p 389 -e bindeach,bindonly -D uid=user0XXX,dc=example,dc=com -w password0XXX -e randombinddn,randombinddnlow=0,randombinddnhigh=0999 -e esearch -f "(&(objectClass=posixAccount)(uid=user*)(uidNumber=*)(gidNumber=*))"
160

AUTHOR

162       ldclt was written by the 389 Project.
163

REPORTING BUGS

165       Report bugs to https://github.com/389ds/389-ds-base/issues/new
166
168       Copyright © 2001 Sun Microsystems, Inc. Used by permission.
169       Copyright © 2018 Red Hat, Inc.
170       This  manual  page  was  written  by  Michele  Baldessari  <michele@pu‐
171       pazzo.org>, for the Debian project (but may be used by others).
172       This is free software.  You may redistribute copies  of  it  under  the
173       terms of the Directory Server license found in the LICENSE file of this
174       software distribution.  This license is  essentially  the  GNU  General
175       Public License version 2 with an exception for plug-in distribution.
176
177
178
179                                March 31, 2017                        LDCLT(1)
Impressum