Session Persistence Calculator
Size the persistence table for sticky sessions: concurrent sessions, memory footprint and how long a node takes to drain.
About Session Persistence Calculator
A persistence record lives for as long as the session plus its timeout, so the table size is the session arrival rate multiplied by that lifetime. Draining a node gracefully means waiting for its pinned sessions to expire, which takes one full session lifetime. Persistence tables are the memory hog on an ADC and the reason maintenance windows stretch: with a 30-minute timeout you cannot take a node out cleanly in less than 30 minutes.
Formula
Session Persistence
concurrent sessions = new sessions per second × average session duration (Little's law); table memory = concurrent sessions × bytes per entry.
- sessionDuration
- Includes the persistence timeout, not just active use
- entryBytes
- Source address or cookie value plus the pool member reference
Worked example
With the default values below, Session Persistence Calculator returns Concurrent Persistent Sessions of 1,620,000. Change any input above and every figure here is recalculated in your browser.
Inputs used
- New sessions per secondaccepts 1–5,000,000 sessions/s
- 900 sessions/s
- Average session durationaccepts 1–86,400 s
- 1,800 s
- Bytes per persistence table entryaccepts 32–8,192 bytes
- 256 bytes
- Pool membersaccepts 1–1,024 servers
- 8 servers
Results
- Concurrent Persistent Sessions
- 1,620,000
- Persistence Table Memory
- 396 MiB
- Sessions Pinned per Server
- 202,500
- Time to Drain a Node Gracefully
- 30.0 minutes
- Sessions Re-Pinned When a Node Fails
- 202,500
Step by step
- 1Values used
- 2Session Persistence
- 3Concurrent Persistent Sessions= 1,620,000
- 4Persistence Table Memory= 414,720,000
- 5Sessions Pinned per Server= 202,500
- 6Time to Drain a Node Gracefully= 30.0 minutes
- 7Sessions Re-Pinned When a Node Fails= 202,500
Assumptions and limits
- The result is derived only from the 4 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 1 decimal place, 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 Session Persistence calculated?
concurrent sessions = new sessions per second × average session duration (Little's law); table memory = concurrent sessions × bytes per entry. A persistence record lives for as long as the session plus its timeout, so the table size is the session arrival rate multiplied by that lifetime. Draining a node gracefully means waiting for its pinned sessions to expire, which takes one full session lifetime.
Why does Session Persistence matter?
Persistence tables are the memory hog on an ADC and the reason maintenance windows stretch: with a 30-minute timeout you cannot take a node out cleanly in less than 30 minutes.
What values do I need to enter?
This calculator takes 4 inputs: New sessions per second, Average session duration, Bytes per persistence table entry, Pool members. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Related Calculators
You might also need
- WebSocket Capacity CalculatorCommonly used together
- Connection Pool CalculatorCommonly used together
- Load Balancer Capacity CalculatorCommonly used together
- ADC Health Score CalculatorCommonly used together
- HAProxy Capacity CalculatorAlso in Load Balancing & ADC
- NGINX Capacity CalculatorAlso in Load Balancing & ADC
