Skip to content
Calcrivo

LDAP Capacity Calculator

Size an LDAP directory: database and index footprint, entry cache required, and search throughput against demand.

Inputs

entries
bytes
%
%
searches/s
ms
threads

Directory Database Size

659.18 MiB

Index Size

170.90 MiB

Entry Cache to Configure

395.51 MiB

Maximum Search Throughput

5,333searches/s

Search Capacity Utilisation

65.6%

Servers Needed at Peak

1

Assessment

Healthy, but plan the next replica

Step by step

  1. Values used

    Entries in the directory = 250,000 entries; Average entry size = 2,048 bytes; Index overhead = 35 %; Share of the database you want cached = 60 %; Peak search rate = 3,500 searches/s; Average search service time = 3 ms; Worker threads per server = 16 threads

  2. LDAP Capacity

    database = entries × average entry size × (1 + index overhead); throughput = worker threads ÷ average search service time.

  3. Replica count

    servers at peak = peak search rate ÷ (per-server throughput × 70% target utilisation).

  4. Directory Database Size

    = 691,200,000.00

  5. Index Size

    = 179,200,000.00

  6. Entry Cache to Configure

    = 414,720,000.00

  7. Maximum Search Throughput

    = 5,333 searches/s

  8. Search Capacity Utilisation

    = 65.6

  9. Servers Needed at Peak

    = 1

How it works

Directory throughput is a queueing problem: each worker thread handles one search at a time, so capacity is threads divided by service time. Service time in turn depends on whether the search hits an index and whether the entry is already in cache, which is why the cache target drives the memory figure. Every authentication, group lookup and application login hits the directory, so an under-sized entry cache turns a 1 ms indexed search into a disk read and takes login latency with it.

Formulas

LDAP Capacity

database = entries × average entry size × (1 + index overhead); throughput = worker threads ÷ average search service time.

index overhead
Extra storage for equality, presence and substring indexes
service time
Time one worker thread spends on one search

Replica count

servers at peak = peak search rate ÷ (per-server throughput × 70% target utilisation).

70%
Headroom left for failover, backups and replication traffic

Frequently Asked Questions

How is LDAP Capacity calculated?

database = entries × average entry size × (1 + index overhead); throughput = worker threads ÷ average search service time. Directory throughput is a queueing problem: each worker thread handles one search at a time, so capacity is threads divided by service time. Service time in turn depends on whether the search hits an index and whether the entry is already in cache, which is why the cache target drives the memory figure.

Why does LDAP Capacity matter?

Every authentication, group lookup and application login hits the directory, so an under-sized entry cache turns a 1 ms indexed search into a disk read and takes login latency with it.

What values do I need to enter?

This calculator takes 7 inputs: Entries in the directory, Average entry size, Index overhead, Share of the database you want cached, Peak search rate, Average search service time, Worker threads per server. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

Why does one unindexed search hurt so much?

An unindexed search becomes a full scan of the entry set, so its service time jumps from around a millisecond to seconds while it holds a worker thread the whole time. A handful of concurrent unindexed searches can consume every thread and stall authentication for the entire estate.

How much memory should the entry cache get?

Enough to hold the working set — the entries actually being looked up — which is usually far smaller than the whole database. Caching 60% of the database, the default here, is a common starting point; measure the cache hit ratio and raise it until hits plateau above roughly 95%.

You might also need