Using the makeldif command with the example files provided as part of Directory Server Resource Kit, you can create sample LDIF files from one kilobyte to one megabyte in size. See To Install Only Directory Server Resource Kit From the Zip Distribution in Sun Java System Directory Server Enterprise Edition 6.0 Installation Guide for an example showing how to use the makeldif command.
The entries in these files are smaller than you would expect in a real deployment.
$ du -h /var/tmp/* 57M /var/tmp/100k.ldif 5.7M /var/tmp/10k.ldif 573M /var/tmp/1M.ldif |
An example entry from these files is shown in the following LDIF.
dn: uid=Aartjan.Aalders,ou=People,dc=example,dc=com objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson givenName: Aartjan sn: Aalders cn: Aartjan Aalders initials: AA uid: Aartjan.Aalders mail: Aartjan.Aalders@example.com userPassword: trj49xeq telephoneNumber: 935-748-6699 homePhone: 347-586-0252 pager: 906-399-8417 mobile: 452-898-9034 employeeNumber: 1000004 street: 64197 Broadway Street l: Lawton st: IN postalCode: 57924 postalAddress: Aartjan Aalders$64197 Broadway Street$Lawton, IN 57924 description: This is the description for Aartjan Aalders.
Begin sizing by importing the content of 10k.ldif, which occupies 5.7 megabytes on disk.
$ dsadm stop /local/ds Server stopped $ dsadm import -i /local/ds /var/tmp/10k.ldif dc=example,dc=com … |
With default indexing the content of 10k.ldif increases the size of the instance files by 72 megabytes - 53 megabytes, or 19 megabytes.
$ du -hs /local/ds 72M /local/ds |
If you index five more attributes, size increases by about seven megabytes.
$ dsconf create-index dc=example,dc=com employeeNumber street st \ postalCode description $ dsconf reindex dc=example,dc=com … ## example: Finished indexing. Task completed (slapd exit code: 0). $ du -hs /local/ds 79M /local/ds |
Observing memory size with the default cache settings, and nothing loaded from the suffix into entry cache yet, the server process occupies approximately 170 megabytes of memory with a heap size of about 56 megabytes.
$ dsadm start /local/ds Server started: pid=8482 $ pmap -x 8482 … Address Kbytes RSS Anon Locked Mode Mapped File 0000000000437000 61348 55632 55380 - rw--- [ heap ] … ---------------- ---------- ---------- ---------- ---------- total Kb 178444 172604 76532 - |
As you then prime the cache and examine output from the pmap command again, the heap grows by about 10 megabytes, and so does the total size of the process.
$ ldapsearch -D cn=Directory\ Manager -w - -p 1389 -b dc=example,dc=com \ objectclass=\* > /dev/null Enter bind password: $ pmap -x 8482 … Address Kbytes RSS Anon Locked Mode Mapped File … 0000000000437000 70564 65268 65024 - rw--- [ heap ] … ---------------- ---------- ---------- ---------- ---------- total Kb 187692 182272 86224 - |
The numbers are comparable for default indexing.
$ dsconf delete-index dc=example,dc=com employeeNumber street st \ postalCode description $ dsconf reindex dc=example,dc=com … ## example: Finished indexing. Task completed (slapd exit code: 0). $ dsadm stop /local/ds Server stopped $ dsadm start /local/ds Server started: pid=8541 $ ldapsearch -D cn=Directory\ Manager -w - -p 1389 -b dc=example,dc=com \ objectclass=\* > /dev/null Enter bind password: $ pmap -x 8541 … Address Kbytes RSS Anon Locked Mode Mapped File … 0000000000437000 70564 65248 65004 - rw--- [ heap ] … ---------------- ---------- ---------- ---------- ---------- total Kb 187680 182240 86192 - |
For only 10,000 entries, do not change the default cache sizes.
$ dsconf get-server-prop | grep cache db-cache-size : 32M import-cache-size : 64M $ dsconf get-suffix-prop dc=example,dc=com | grep entry-cache-size entry-cache-size : 10M |
The small default entry cache was no doubt filled completely after priming, even with only 10,000 entries. To see the size for a full entry cache, set a large entry cache size, import the data again, and prime the cache.
$ dsconf set-suffix-prop dc=example,dc=com entry-cache-size:2G $ dsadm stop /local/ds Server stopped $ dsadm import -i /local/ds /var/tmp/10k.ldif dc=example,dc=com … $ dsadm start /local/ds Server started: pid=8806 $ ldapsearch -D cn=Directory\ Manager -w - -p 1389 -b dc=example,dc=com \ objectclass=\* > /dev/null Enter bind password: $ pmap -x 8806 … Address Kbytes RSS Anon Locked Mode Mapped File … 0000000000437000 116644 109996 109780 - rw--- [ heap ] |
Here 10,000 entries occupy approximately 55 megabytes of entry cache memory (110 - 55).