top of page
Abstract Architect

Realistic Apisix 3.11 Performance Benchmark

Updated: Apr 25

Why Realistic Performance Results matters

Apisix does publishes a performance benchmark in the documentation. Which is a fantastic result to know. Its documented here apisix benchmark


This benchmark does not work for many clients. Two of the top reasons why a realistic performance is worth knowing for clients.


  • Apisix benchmark was run on GCP, single dedicated instance of n1-highcpu-8 which has 8 vCPUs and 7.2 GB memory. Clients often allocate 2 vCPU and 4 GiB memory for instances on cloud providers. These are significantly different machines in terms of compute and performance.

  • Client often allocate smaller machines per node. Clients often look at scaling out apisix Instances rather than scaling up apisix Instances. So being closer to 2 vCPU and 4 GiB memory is more realistic performance result.

  • The benchmark was run using HTTP protocol. Using HTTP protocol in any realistic environment deployment by client is near improbable.

  • There is performance difference between HTTP protocol and HTTPS protocol, and the difference is not trivial.


Realistic Config


Listed is realistic Apisix machine config used for this benchmark results

CPU

2 CPU of Intel(R) Xeon(R) CPU @ 2.20GHz

Memory

4 GiB

Cloud Provider

GCP

Machine Type

e2-medium VM

OS

Debian 11 Bullseye

Low Latency and Highest Throughput Performance Target


The following targets is set and configured

  • 2 threads to make requests to match the 2 CPUs

  • 10 concurrent connections to run the test

  • Maximum average latency allowed is 5 ms

  • Ignoring the max Latency and Standard Deviations


What is the maximum throughput that can be extracted from the compute allocated with the performance targets defined above from apisix.


Apisix Configuration

1 upstream of roundrobin type

1 route

No plugins


ulimit set to 4096

access log=off


apisix was configuration in standalone mode and configuration was loaded using apisix.yaml


Network Setup


The load runner, apisix Instance and Backend were hosted in the same GCP region and with in the same network.


Application Config

Backend

A HTTPS endpoint hosting a REST API with a GET

Returning a simple json response with very few characters. Similar to

{"hello":"world"}

apisix

apisix hosts a HTTPS endpoint to service as a REST API endpoint


apisix to backend is configured with HTTPs protocol


Load Runner

Load runner calls apisix endpoint using HTTPS


Performance Metrics

Number of Requests processed per Minute

Number of Requests Processed per Second

Average Latency

648,540.50

10809

4.99ms


What does it Mean


This is a measure of what is the maximum that could be extracted from a realistic compute allocated that is closer to typical customer deployment.


This is a point of reference for customers to use.

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
Kalipro Logo

Kalipro Software

  • Twitter
  • LinkedIn

©2025 Kalipro Software | All Rights Reserved

bottom of page