Performance Testing

Performance testing is an important part of building a reliable, scalable, and performant API. This document outlines how to performance test your API behind Zuplo, some best practices, and how to interpret the results.

Serverless Zuplo

This document applies only to Zuplo's serverless edge-based deployment. If you are running a managed dedicated instance of Zuplo, this document doesn't apply as the scaling characteristics are different.

Cold Starts

One thing to keep in mind with Zuplo is that it's a "serverless" platform. This means that we automatically scale your API to handle any load. This makes Zuplo cost effective and scalable for APIs that have almost no traffic, APIs that have billions of requests per month, and API that have unpredictable traffic. Zuplo handles it all with ease.

The caveat is that the first requests of a test may be slightly slower than they will be once the API is warmed up. This "code start" time is typically less than 200ms. Nodes in Zuplo are reused for many requests. Nodes can live for hours or even days, but they are eventually recycled. Nodes are also spun up and down based on traffic.

What this means for load testing is that you need to run a "warm-up" test before measuring the latency of your API.