// Academic Project · Year 4
Kubernetes at the Edge: Cloud vs Edge Benchmarking
Benchmarked Kubernetes on cloud and edge up to 500 users: the edge node served 18% fewer requests at peak.
Coursework for Cloud Computing. I deployed the same network function, an NGINX load balancer, on a cloud-style Kubernetes cluster and on a small edge node, then load-tested both from 10 up to 500 concurrent users to see where the edge node falls behind.
The setup
- Module
- COMP5123M Cloud Computing
- Year
- 2025/26 · Year 4
- Team
- Individual
- Focus
- Kubernetes performance, cloud vs edge
- • Cloud: Minikube.
- • Edge: K3s, the lightweight Kubernetes distribution, on a virtual machine with 1 CPU and 2 GB of RAM.
- • The service: NGINX as a Deployment behind a NodePort Service, identical on both, with CPU and memory requests and limits (100m to 500m CPU, 64 to 256 MiB).
Measuring it
A Python script runs ApacheBench against the service for three minutes while polling kubectl top every second, and saves the load results and resource use together.
A Bash script runs that at 10, 50, 100, 200, 300, 400 and 500 concurrent users, with a cool-down between runs, and a final script draws the charts.
I first set up Prometheus and Grafana for monitoring, but on the edge node they took so much of its single CPU that they skewed the results. I switched to the lighter Metrics Server.
Results
| Users | Cloud requests/s | Cloud latency | Edge requests/s | Edge latency |
|---|---|---|---|---|
| 10 | 11,171 | 0.90 ms | 10,375 | 0.96 ms |
| 500 | 14,428 | 34.7 ms | 11,871 | 42.1 ms |
At low load the two were almost the same. At 500 users the edge node handled about 18% fewer requests a second, with about 22% higher latency. Neither failed a single request at any load. At peak, the cloud pod hit its 500m CPU limit while the edge pod used about 347m.

