Test Environment
The benchmark was run across four isolated servers. Each component was deployed on a separate machine to prevent measurements from interfering with each other.Load Generator
- 6 vCPU · 12 GB RAM · 100 GB NVMe
- wrk2 load generation tool
- CentOS, single server
Upstream (Backend)
- 6 vCPU · 12 GB RAM · 100 GB NVMe
- High-capacity Go-based HTTP server (~70K RPS)
- Network RTT to load generator: ~0.5 ms
Elasticsearch
- 8 vCPU · 24 GB RAM · 200 GB NVMe
- Elasticsearch 8 — traffic log target
- Physically separate from the gateway server
API Gateway (Worker)
- 12 vCPU (Intel Broadwell @ 2.0 GHz) · 48 GB RAM · 250 GB NVMe
- Runs on Kubernetes
- Hosts Worker pods only
Gateway Resource Configurations (Tiers)
The gateway was tested under four different resource constraints on Kubernetes. Each tier represents a real-world production deployment scenario.Methodology
Load Generator: wrk2
Tests were conducted with wrk2, a high-precision HTTP load generator designed to track actual request rates and eliminate coordinated omission bias. Core parameter — R=999999 Overload Method:R=999999 target rate is set far above the gateway’s maximum sustainable RPS. This means the measured value is the system’s true maximum throughput, not a pre-configured rate.
Test Parameters
Upstream Is Not a Bottleneck
The upstream server can sustain approximately 4–5× the gateway’s maximum throughput (~70,000 RPS). All observed limits originate from gateway capacity; the upstream is not a bottleneck. Network latency between the load generator and the gateway was measured at ~0.5 ms.ES Modes
- ES Off: Traffic logs are not written to Elasticsearch. Measures pure gateway overhead.
- ES On: An asynchronous traffic log is written to Elasticsearch for each request. Simulates a real production scenario.
Results
1. Peak Throughput Summary
Maximum RPS observed across all concurrency points for each tier and request type.ES Off
ES On

2. CPU Scaling Efficiency
RPS per CPU core and scaling ratio relative to W1 (ES Off, GET).
3. ES On vs. ES Off Comparison
- GET
- POST 1KB
- POST 5KB

4. Concurrency Curves (Per Tier)
- W1 (1 CPU / 2GB)
- W2 (2 CPU / 2GB)
- W4 (4 CPU / 4GB)
- W8 (8 CPU / 8GB)
5. JVM Diagnostics
- ES Off
- ES On
Policy Performance Impact
Benchmark results reflect zero-policy routing. In real production scenarios, each policy adds its own cost depending on its mechanism. These costs fall into two categories: CPU load and external latency.CPU-Intensive Policies — Reduce Throughput
These policies perform computation on the gateway for each request. CPU is consumed directly and can be compensated by scaling up the tier or adding horizontal replicas.XML / XSD Schema Validation
XML / XSD Schema Validation
XML Transformation (XSLT)
XML Transformation (XSLT)
JSON Schema Validation
JSON Schema Validation
Encryption / Decryption (WS-Security, JWE)
Encryption / Decryption (WS-Security, JWE)
Digital Signature and Verification (WS-Security, JOSE)
Digital Signature and Verification (WS-Security, JOSE)
Content Filtering
Content Filtering
Script Policy (Groovy)
Script Policy (Groovy)
Policies That Add External Latency — Increase Response Time
These policies connect to an external system to perform work. Gateway CPU is largely idle while waiting; response time increases by the round-trip to the external system. Scaling up CPU does not reduce this latency — the external system’s performance and network RTT are the controlling factors.LDAP Authentication
LDAP Authentication
OAuth2 Token Introspection / OIDC
OAuth2 Token Introspection / OIDC
JWT (Remote JWKS Validation)
JWT (Remote JWKS Validation)
SAML Authentication
SAML Authentication
Backend Authentication (Basic / API Key / Token)
Backend Authentication (Basic / API Key / Token)
API Call Policy
API Call Policy
Low-Impact Policies
The following policies add minimal CPU and zero external latency on the gateway. Their impact on performance is generally negligible even in high-traffic environments.IP Allow / Block List
Rate Limiting / Quota
Header Manipulation
Basic Authentication (Local)
Analysis
CPU Scaling: Super-Linear Efficiency
CPU Scaling: Super-Linear Efficiency
Elasticsearch Logging Overhead
Elasticsearch Logging Overhead
Architectural Recommendation for Policy Design
Architectural Recommendation for Policy Design
Capacity Planning Guide
Capacity Planning Guide

