{{ result.summaryTitle }}
{{ result.primaryDisplay }}
{{ result.secondaryText }}
{{ result.statusText }} {{ result.handshakeBadge }} {{ result.budgetBadge }} {{ result.reuseBadge }}
RPS New TLS Full Resumed {{ handshakeStageCoreMarker }}
TLS handshake load inputs
Use measured edge, proxy, or load-balancer RPS for this TLS termination point.
RPS
Lower values mean better keep-alive or connection pooling; 100% models one request per connection.
%
Use certificate/key-exchange metrics when available; high values point to weak session resumption.
%
Choose a starting profile, then replace the CPU values with benchmark or production measurements.
Measure with production telemetry or OpenSSL/proxy benchmarks when possible.
ms
Resumed handshakes are usually much cheaper than full handshakes; keep this separate from the full path.
ms
Use the effective cores assigned to TLS work, not the total machine size if other tasks share the host.
cores
Use 60-75% for edge capacity planning, higher only with measured latency margins.
%
Names do not affect the calculation.
Leave at 1 for steady state; use 1.5-3 for reconnect surge checks.
x
Default 0 keeps the baseline neutral; add reserve only when other host work shares the same cores.
%
Use 1-3 decimal places for capacity reviews.
digits
{{ header }} Copy
{{ cell }}

        
Customize
Advanced
:

Introduction:

An HTTPS edge can look healthy by request count while TLS workers are spending most of their time setting up connections. Every fresh secure connection negotiates protocol parameters, authenticates certificates, and derives traffic keys before normal HTTP data can flow. When clients reuse established connections, thousands of requests may share relatively few handshakes; when clients reconnect aggressively, the same request volume can create a much larger cryptographic workload.

The planning number that matters is handshake rate, not raw request rate. A busy API behind keep-alive pools, HTTP/2 streams, or long-lived service connections may create modest TLS setup work. A mobile app release, regional failover, proxy restart, low idle timeout, or bot burst can raise the share of requests that arrive on fresh TLS connections. That reconnect pattern often appears suddenly, which is why edge capacity plans need a separate view of handshake CPU instead of treating all HTTPS requests as equal.

Full and resumed handshakes do not cost the same. A full handshake performs the heavier authentication and key-establishment path, while a resumed handshake can reuse prior session material or a pre-shared-key path when both sides support it. Certificate type, TLS version, mutual TLS, proxy build, CPU generation, session tickets, and cache behavior can change the per-handshake cost enough that generic benchmark numbers should only be a starting point.

TLS traffic patterns and handshake capacity impact
Traffic situation Handshake effect Capacity lesson
Connection reuse is strong Many requests share each TLS connection. Request rate can rise without a matching jump in handshake CPU.
Clients reconnect often A higher share of requests starts a new secure connection. TLS workers can become the bottleneck before application code does.
Session resumption is weak More new connections take the full handshake path. Fixing tickets, caches, and client pooling may help more than adding hosts.
Mutual TLS is introduced Client-certificate validation adds work to the expensive path. mTLS rollouts need fresh measurements, not reused public-edge assumptions.
TLS request rate reduced to new connections, split into full and resumed handshakes, then compared with target TLS cores.

A handshake-load estimate cannot prove that an edge is ready for every failure mode. It gives a focused planning number that should be checked against live metrics for new sessions, resumption hits, handshake latency, worker CPU, queueing, and cold-load tests. The result is strongest when the input values come from the same proxy tier, certificate profile, and client mix that will carry production traffic.

How to Use This Tool:

Model the TLS termination point you actually need to protect: one edge listener, ingress class, API gateway, service mesh boundary, or load balancer pool. Avoid mixing several tiers unless they share the same traffic, certificates, CPU budget, and resumption behavior.

  1. Enter the busiest HTTPS request rate that the endpoint must handle. Use a busy minute, launch estimate, failover target, or load-test value rather than a daily average.
  2. Set New TLS connection share to the portion of modeled requests that open fresh secure connections. Lower values represent better keep-alive, pooling, or multiplexing.
  3. Set Full handshake share to the portion of new connections that do not resume a prior session. Use proxy metrics when available.
  4. Choose the closest Handshake profile, then replace the full and resumed CPU milliseconds with measurements from your hardware, proxy build, TLS version, certificate type, and mTLS setting.
  5. Enter TLS worker cores as the effective CPU budget for TLS work. If routing, WAF checks, logging, or application work share the same machine, do not count the whole host as TLS capacity.
  6. Use Planning CPU target and CPU reserve to express how much sustained TLS load you are willing to run before latency risk becomes unacceptable.
  7. Use Peak multiplier for reconnect storms, regional failover, deploy restarts, cache-miss bursts, or launch traffic. A copied link can preserve the entered scenario for review.
    If the warnings say values were clamped, the core budget is zero, the CPU target is above 85%, or resumed handshakes cost more than full handshakes, fix those inputs before relying on the capacity result.

Interpreting Results:

The headline percentage is target utilization: modeled handshake CPU demand divided by the effective TLS core budget after the planning CPU target and reserve are applied. capacity ok means the value is below 85%. near target means it is at least 85% and below 110%. over target means it is at least 110%. no CPU budget means the entered core budget, target, or reserve leaves no usable capacity.

TLS Capacity Snapshot is the first audit trail. It shows the modeled request rate, new handshake rate, full and resumed handshake rates, TLS CPU demand, target CPU budget, headroom or gap, safe request ceiling, and any input warnings. Read this table before the charts because a chart can look calm when an input has been clamped or a scenario label is wrong.

Handshake CPU Budget separates full and resumed core demand. If full handshakes dominate the budget, session resumption, client pooling, certificate profile, and mTLS settings deserve attention. If resumed handshakes dominate, connection churn or a high request surge may be the larger driver even when resumption is working.

Capacity Guidance turns the calculation into operational checks. A result near target should trigger measurement work, not just a larger core count. Compare the modeled new-session rate with proxy metrics, check resumption hit rate, review idle timeouts, and validate p95 handshake latency during a cold-load test. The chart tabs help show current CPU mix and how target utilization changes as the new-connection share moves.

A green status is not a promise of low latency. It only says the entered handshake CPU assumptions fit the selected target budget. Application CPU, packet loss, kernel scheduling, downstream saturation, certificate-chain problems, and WAF rules can still limit the edge.

Technical Details:

TLS uses a handshake protocol to authenticate peers, negotiate cryptographic parameters, and establish shared traffic keys. The server is authenticated in the normal HTTPS case, and client authentication may be added for mutual TLS. After the handshake, the record protocol protects application data with the negotiated keys.

Handshake CPU is driven by rate and mix. The rate comes from peak request volume multiplied by the share of requests that start a new TLS connection. The mix comes from the share of new connections that take the full path rather than the resumed path. The core calculation then weights each path by measured CPU milliseconds and compares the result with a deliberately smaller planning budget, not with all installed CPU.

Formula Core:

The model converts milliseconds per handshake into CPU cores by treating one fully busy core as 1000 CPU milliseconds per second.

Rpeak = Rrequest×M Hnew = Rpeak×N Hfull = Hnew×F Hresumed = Hnew-Hfull Cdemand = Hfull×Tfull+Hresumed×Tresumed1000 Ctarget = C×P×(1-S) Target utilization = CdemandCtarget×100
TLS handshake load formula variables
Symbol Meaning Unit
Rrequest Entered HTTPS request rate before surge modeling. requests/sec
M Peak multiplier for failover, deploy reconnects, launch traffic, or another sustained surge. ratio
N Share of modeled requests that open a new TLS connection. 0 to 1
F Share of new TLS connections that use the full handshake path. 0 to 1
Tfull, Tresumed Server-side CPU milliseconds per full or resumed handshake. ms
C, P, S TLS worker cores, planning CPU target, and CPU reserve. cores / ratio

Worked Mechanism Path:

With 4,500 requests/sec, a 12% new-connection share, 35% full handshakes, 2.40 ms full cost, 0.25 ms resumed cost, 4 TLS cores, and a 70% planning target, peak traffic creates 540 new handshakes/sec. That splits into 189 full and 351 resumed handshakes/sec. The weighted demand is 0.54 CPU cores, and the target budget is 2.80 cores, so target utilization is about 19.3%.

Status Rules:

TLS handshake status rules
Status Rule Operational meaning
capacity ok Target utilization is below 85%. The scenario fits the selected target, but the assumptions still need metric validation.
near target Target utilization is at least 85% and below 110%. Measurement error, reconnect bursts, or a lower resumption hit rate can push the tier over budget.
over target Target utilization is at least 110%. Reduce handshake rate or cost, add TLS capacity, or revise the planning target only with evidence.
no CPU budget Effective target cores are zero. TLS cores, target CPU, or reserve settings must be corrected before the estimate is useful.

Input Bounds and Warnings:

TLS input bounds and warning meanings
Input area Accepted model behavior Warning meaning
Connection shares New connection share and full handshake share are constrained to 0% through 100%. High values suggest poor reuse, session-resumption misses, reconnect-heavy clients, or a cold-start event.
CPU milliseconds Full and resumed CPU costs are non-negative. A resumed cost above full cost is allowed but flagged. Resumption should usually be cheaper, so the benchmark window or measured counter may be wrong.
Core budget TLS cores are non-negative, target CPU is 1% through 100%, and reserve is 0% through 90%. A target above 85% leaves little room for latency spikes and shared proxy work.
Peak multiplier Multiplier is non-negative. A multiplier of 2x or more should be backed by failover, load-test, rollout, or incident evidence.

Limitations:

The calculation isolates server-side TLS handshake CPU. It does not measure live traffic, inspect certificates, estimate packet loss, model kernel scheduling, account for application processing, or prove that a certificate chain is correct. Those checks belong in proxy telemetry, certificate validation, load testing, and latency monitoring.

Preset handshake costs are useful for comparison, not for final sizing. Real values can move with CPU generation, crypto library, proxy configuration, TLS version, certificate algorithm, client-auth policy, and whether the benchmark includes network transfer or only handshake work.

Scenario values stay under your control. The page can encode the current parameters in a copied URL when you choose to share it, so avoid placing sensitive endpoint names or internal capacity numbers in links that may be logged or forwarded.

Worked Examples:

  1. Healthy edge reuse. A service handles 4,500 requests/sec, 12% open new TLS connections, and 35% of those use the full path. With the TLS 1.3 RSA-style profile, 4 TLS cores, and a 70% target, the snapshot shows about 540 new handshakes/sec and roughly 19% target utilization.
  2. Reconnect storm boundary. Keep request rate at 4,500, set the peak multiplier to 2, raise new connection share to 35%, and raise full handshake share to 60%. The model moves into an over target shape because reconnect churn creates thousands of handshakes/sec before ordinary request handling is considered.
  3. mTLS rollout review. For a client-certificate service, use the mutual-TLS profile or measured values from the same proxy tier. If Handshake CPU Budget shows full handshakes taking most of the demand, test session resumption, client pooling, and certificate-validation behavior before deciding that more instances are the only answer.
  4. Troubleshooting a suspicious warning. If resumed handshakes appear more expensive than full handshakes, recheck the benchmark window. The measurement may include payload transfer, connection queuing, logging, or a different client mix instead of just server-side handshake CPU.

FAQ:

Why does request rate not equal handshake rate?

Several requests can reuse one secure connection. Only requests that open a new TLS connection enter the handshake-rate part of the model.

Which CPU milliseconds should I enter?

Use server-side CPU time per handshake from the same proxy, certificate profile, TLS version, hardware, and client-auth behavior you plan to run. Presets are starting points for early comparisons.

What does a high new-connection share usually mean?

It often points to short idle timeouts, weak client pooling, deploy reconnects, mobile network churn, bot traffic, or a cold-start event. Check new-session counters and connection lifetime metrics before adding capacity.

Why can a low raw core number still be risky?

The status compares demand with the target budget after CPU target and reserve are applied. A strict target such as 60% with reserve can make the usable budget much smaller than installed cores.

Does this replace load testing?

No. Use the estimate to choose scenarios and thresholds, then validate with cold-load tests, proxy metrics, worker CPU, resumption hit rate, and handshake latency.

Glossary:

Full handshake
A TLS negotiation that performs the full authentication and key-establishment path for a new secure connection.
Resumed handshake
A TLS handshake that uses previously established session material or pre-shared-key behavior to reduce setup work.
New connection share
The portion of modeled HTTPS requests that arrive on fresh TLS connections instead of existing ones.
Target cores
The usable TLS CPU budget after applying the planning CPU target and reserve.
Reconnect storm
A short period when many clients open new connections at once, often after failover, deploys, idle-timeout changes, or client restarts.