LDAP Capacity Calculator
Size an LDAP directory: database and index footprint, entry cache required, and search throughput against demand.
About LDAP Capacity Calculator
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
Worked example
With the default values below, LDAP Capacity Calculator returns Directory Database Size of 659.18 MiB. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Entries in the directoryaccepts 1–100,000,000 entries
- 250,000 entries
- Average entry sizeaccepts 128–65,536 bytes
- 2,048 bytes
- Index overheadaccepts 0–200 %
- 35 %
- Share of the database you want cachedaccepts 0–100 %
- 60 %
- Peak search rateaccepts 1–1,000,000 searches/s
- 3,500 searches/s
- Average search service timeaccepts 0.1–500 ms
- 3 ms
- Worker threads per serveraccepts 1–512 threads
- 16 threads
Results
- Directory Database Size
- 659.18 MiB
- Index Size
- 170.90 MiB
- Entry Cache to Configure
- 395.51 MiB
- Maximum Search Throughput
- 5,333 searches/s
- Search Capacity Utilisation
- 65.6%
- Servers Needed at Peak
- 1
- Assessment
- Healthy, but plan the next replica
Step by step
- 1Values used
- 2LDAP Capacity
- 3Replica count
- 4Directory Database Size= 691,200,000.00
- 5Index Size= 179,200,000.00
- 6Entry Cache to Configure= 414,720,000.00
- 7Maximum Search Throughput= 5,333 searches/s
- 8Search Capacity Utilisation= 65.6
- 9Servers Needed at Peak= 1
Assumptions and limits
- The result is derived only from the 7 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
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%.
Related Calculators
You might also need
- Identity Lifecycle CalculatorCommonly used together
- Kerberos Ticket Lifetime CalculatorCommonly used together
- Active Directory Replication Load CalculatorCommonly used together
- JWT Payload Size CalculatorAlso in Identity & Access Management
- IAM Health Score CalculatorAlso in Identity & Access Management
- Federation Trust CalculatorAlso in Identity & Access Management
