Service Mesh Overhead Calculator
Estimate the latency and resource overhead a service mesh adds to your architecture.
About Service Mesh Overhead Calculator
Every hop through a sidecar proxy adds a small, roughly constant amount of latency for TLS, routing decisions and telemetry collection: latency_added_ms = proxy_hops × per_hop_ms. A typical service-to-service call in a mesh traverses two hops — the caller's outbound sidecar and the callee's inbound sidecar — and each active sidecar also consumes CPU proportional to the traffic it proxies, which should be budgeted alongside the application container's own resource requests.
Formula
overhead_percent = (latency_with_mesh - latency_without_mesh) / latency_without_mesh × 100
- latency_with_mesh
- Request latency through the mesh (ms)
- latency_without_mesh
- Direct request latency without mesh (ms)
Worked example
With the default values below, Service Mesh Overhead Calculator returns Latency Added by Mesh of 3.00. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Proxy Hopsaccepts 0–100 hops
- 2 hops
- Latency per Hopaccepts 0–10,000 ms
- 1.5 ms
- Baseline Request Latencyaccepts 0–1,000,000 ms
- 40 ms
- CPU Overhead per Sidecaraccepts 0–100 %
- 8 %
- Sidecars in Pathaccepts 0–100 sidecars
- 2 sidecars
Results
- Latency Added by Mesh
- 3.00 ms
- Latency Overhead
- 7.5%
- Total Request Latency
- 43.00 ms
- Total CPU Overhead
- 16.0%
Step by step
- 1Latency added: proxy hops × per-hop latency= 3.00ms
- 2Total latency: baseline + added= 43.00ms
- 3Total CPU overhead: sidecars × per-sidecar overhead= 16.0%
Assumptions and limits
- The result is derived only from the 5 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 many proxy hops does a typical mesh request have?
Most service mesh architectures (Istio, Linkerd) add 2 hops per service-to-service call — the client's outbound sidecar and the server's inbound sidecar — though calls through an ingress gateway or additional intermediate services add more.
Is 1-2ms per hop realistic?
For modern high-performance proxies like Envoy or Linkerd's Rust-based proxy under moderate load, 0.5-2ms per hop for p50 latency is typical; p99 tail latency can be considerably higher under resource contention or with expensive per-request policies (e.g. complex authorization checks).
Does mTLS significantly increase per-hop latency?
The TLS handshake cost is amortized across a connection's lifetime via session reuse and connection pooling, so per-request overhead from mTLS is typically small once connections are warm — see the dedicated mTLS performance calculator for a detailed breakdown.
How should I budget CPU for the mesh across a whole cluster?
Multiply the per-sidecar CPU overhead percentage by your application containers' baseline CPU requests, then add that as extra CPU request/limit for each sidecar container — this mesh 'tax' should be included in overall cluster capacity planning.
Related Calculators
You might also need
- mTLS Performance CalculatorCommonly used together
- Service Mesh Health Score CalculatorCommonly used together
- Timeout Configuration CalculatorCommonly used together
- Traffic Split CalculatorCommonly used together
- Envoy Proxy Capacity CalculatorCommonly used together
- Istio Sidecar CPU CalculatorCommonly used together
