Basic Directory Server Sizing Example:
Disk and Memory Requirements

This section provides an example that shows initial steps in sizing Directory Server disk
and memory requirements for deployment. The system used for this example was
selected by chance and because it had sufficient processing power and memory
to complete the sizing tasks quickly. It does not necessarily represent a
recommended system for production use. You can it however to gain insight
into how much memory and disk space might be required for production systems.

System Characteristics

The following system information was observed using the Solaris Management
Console (smc).

2 AMD64 CPUs (2.2 gigahertz)

Solaris 10 Operating System

4 gigabytes physical memory

40 gigabytes swap

Physical memory in use before Directory Server installation:
700 megabytes

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.

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.

Populating the Suffix With 100,000 Sample Directory Entries

As you move to 100,000 entries, you have more directory data to fit
into database and entry caches. Initially, import 100,000 entries and examine
the size required on disk for this volume of directory data.

Directory data contained in the database for our example suffix, dc=example,dc=com, now occupy about 142 megabytes.

$ du -hs /local/dsInst/db/example/
142M /local/dsInst/db/example

You can increase the size of the database cache to hold this content.
If you expect the volume of directory data to grow over time, you can set
the database cache larger than currently necessary. You can also set the entry
cache size larger than necessary. Entry cache grows as the server responds
to client requests, unlike the database cache, which is allocated at startup.

The database is somewhat larger, however. The additional indexes increased
the size of the database from 142 megabytes to 163 megabytes.

$ du -hs /local/dsInst/db/example/
163M /local/dsInst/db/example

Populating the Suffix With 1,000,000 Sample Directory Entries

As you move from 100,000 entries to 1,000,000 entries, you no longer
have enough space on a system with 4 gigabytes of physical memory to include
all entries in the entry cache. You can begin by importing the data and examining
the size it occupies on disk.

Given a database cache this large and only 4 gigabytes of physical memory,
you cannot fit more than a fraction of entries into the entry cache for the
suffix. Here, set entry cache size to one gigabyte, and then prime the cache
to see the change in the process heap size.