# API Maker benchmark results : every API on every server

> Every API Maker benchmark side by side : req/s and latency on 7 Linode servers (1 to 8 vCPUs, shared and dedicated), scaling, memory.

Source: https://docs.apimaker.dev/v4/docs/benchmarks/summary.html

<nav class="am-bench-switch" aria-label="Benchmark servers">
Shared CPU

- [1 vCPU1 GB · $5](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html)
- [2 vCPU4 GB · $24](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html)
- [4 vCPU8 GB · $48](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html)
- [8 vCPU32 GB · $192](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html)

Dedicated CPU

- [2 vCPU4 GB · $36](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html)
- [4 vCPU8 GB · $72](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html)
- [8 vCPU16 GB · $144](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html)

Compare

[All resultsevery server side by side](https://docs.apimaker.dev/v4/docs/benchmarks/summary.html)

</nav>

Benchmarks · All results · 7 servers

**Every API, every server : side by side.**

The average requests per second of every API Maker benchmark, on 7 Linode servers from 1 to 8 vCPUs, shared and dedicated CPU, on MongoDB, PostgreSQL and MySQL. 136,821,729 requests, 0 errors. Each number links to its run, with the full autocannon output.

Servers

7

4 shared CPU · 3 dedicated CPU

APIs per server

46

15 on each of 3 databases + a custom API without one

Requests

137million

2 rounds of 15 s per API, plus the sweeps of connections

Errors

0

non-2xx, errors, timeouts

## Every API on every server

**MongoDB**

Requests per second (the average of two rounds of 15 seconds, 100 connections) :

| API | [1 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html)<br>shared · 1 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html)<br>shared · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html)<br>shared · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html)<br>shared · 32 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html)<br>dedicated · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html)<br>dedicated · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html)<br>dedicated · 16 GB |
|---|--:|--:|--:|--:|--:|--:|--:|
| Get all | [**2,435**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all) | [**4,692**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all) | [**7,423**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all) | [**11,002**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all) | [**3,712**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all) | [**7,614**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all) | [**12,640**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all) |
| Get all · both tokens | [**2,439**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all) | [**4,425**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all) | [**7,021**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all) | [**11,882**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all) | [**3,564**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all) | [**7,220**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all) | [**12,106**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all) |
| Get all with caching | [**11,054**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-with-caching) | [**18,195**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-with-caching) | [**26,115**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-with-caching) | [**41,093**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-with-caching) | [**15,152**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-with-caching) | [**29,762**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-with-caching) | [**43,980**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-with-caching) |
| Get all with caching · both tokens | [**8,709**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-with-caching) | [**14,144**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-with-caching) | [**20,550**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-with-caching) | [**34,364**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-with-caching) | [**11,750**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-with-caching) | [**23,619**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-with-caching) | [**36,123**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-with-caching) |
| Get all by stream | [**2,545**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-by-stream) | [**4,548**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-by-stream) | [**6,724**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-by-stream) | [**10,646**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-by-stream) | [**3,661**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-by-stream) | [**7,342**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-by-stream) | [**11,898**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-by-stream) |
| Get all by stream · both tokens | [**2,548**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-by-stream) | [**4,297**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-by-stream) | [**6,737**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-by-stream) | [**11,025**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-by-stream) | [**3,462**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-by-stream) | [**6,933**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-by-stream) | [**11,516**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-by-stream) |
| Custom API calling get all QuickJS | [**1,909**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#custom-api-calling-get-all) | [**3,178**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#custom-api-calling-get-all) | [**5,178**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#custom-api-calling-get-all) | [**8,062**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#custom-api-calling-get-all) | [**2,591**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#custom-api-calling-get-all) | [**5,228**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#custom-api-calling-get-all) | [**8,893**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#custom-api-calling-get-all) |
| Custom API calling get all · both tokens QuickJS | [**1,699**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#custom-api-calling-get-all) | [**2,957**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#custom-api-calling-get-all) | [**4,910**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#custom-api-calling-get-all) | [**8,393**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#custom-api-calling-get-all) | [**2,420**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#custom-api-calling-get-all) | [**4,933**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#custom-api-calling-get-all) | [**8,426**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#custom-api-calling-get-all) |
| Custom API in the sandbox Sandbox | [**1,389**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#custom-api-in-the-sandbox) | [**3,015**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#custom-api-in-the-sandbox) | [**4,649**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#custom-api-in-the-sandbox) | [**7,636**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#custom-api-in-the-sandbox) | [**2,269**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#custom-api-in-the-sandbox) | [**4,491**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#custom-api-in-the-sandbox) | [**7,569**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#custom-api-in-the-sandbox) |
| Get all with a pre hook · both tokens QuickJS | [**1,984**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-with-a-pre-hook) | [**3,339**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-with-a-pre-hook) | [**5,327**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-with-a-pre-hook) | [**8,512**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-with-a-pre-hook) | [**2,713**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-with-a-pre-hook) | [**5,460**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-with-a-pre-hook) | [**9,279**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-with-a-pre-hook) |
| Get by id | [**3,100**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-by-id) | [**5,397**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-by-id) | [**8,076**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-by-id) | [**12,297**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-by-id) | [**4,323**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-by-id) | [**8,777**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-by-id) | [**14,224**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-by-id) |
| Get by id · both tokens | [**3,044**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-by-id) | [**4,947**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-by-id) | [**7,513**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-by-id) | [**12,654**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-by-id) | [**4,044**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-by-id) | [**8,182**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-by-id) | [**13,443**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-by-id) |
| Get by id with caching | [**12,140**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-by-id-with-caching) | [**18,970**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-by-id-with-caching) | [**26,444**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-by-id-with-caching) | [**44,564**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-by-id-with-caching) | [**16,455**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-by-id-with-caching) | [**32,588**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-by-id-with-caching) | [**47,980**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-by-id-with-caching) |
| Get by id with caching · both tokens | [**9,481**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-by-id-with-caching) | [**14,695**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-by-id-with-caching) | [**20,887**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-by-id-with-caching) | [**36,219**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-by-id-with-caching) | [**12,553**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-by-id-with-caching) | [**25,516**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-by-id-with-caching) | [**38,521**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-by-id-with-caching) |
| Insert one row | [**1,156**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#insert-one-row) | [**2,352**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#insert-one-row) | [**3,198**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#insert-one-row) | [**4,620**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#insert-one-row) | [**1,735**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#insert-one-row) | [**3,574**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#insert-one-row) | [**5,490**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#insert-one-row) |

Latency in milliseconds, p50 / **p99**, of the same runs :

| API | [1 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html)<br>shared · 1 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html)<br>shared · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html)<br>shared · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html)<br>shared · 32 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html)<br>dedicated · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html)<br>dedicated · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html)<br>dedicated · 16 GB |
|---|--:|--:|--:|--:|--:|--:|--:|
| Get all | 39 / **46** | 20 / **40** | 11 / **28** | 8 / **20** | 26 / **68** | 12 / **28** | 7 / **17** |
| Get all · both tokens | 39 / **52** | 22 / **38** | 14 / **28** | 7 / **17** | 27 / **48** | 13 / **27** | 7 / **17** |
| Get all with caching | 9 / **13** | 5 / **8** | 3 / **5** | 2 / **3** | 6 / **10** | 3 / **5** | 2 / **3** |
| Get all with caching · both tokens | 11 / **17** | 7 / **10** | 4 / **7** | 2 / **4** | 8 / **12** | 4 / **6** | 2 / **4** |
| Get all by stream | 38 / **46** | 21 / **39** | 14 / **33** | 8 / **21** | 26 / **50** | 13 / **27** | 8 / **17** |
| Get all by stream · both tokens | 39 / **54** | 23 / **39** | 14 / **29** | 8 / **18** | 29 / **48** | 13 / **26** | 8 / **18** |
| Custom API calling get all QuickJS | 53 / **69** | 31 / **50** | 19 / **34** | 12 / **23** | 38 / **62** | 18 / **32** | 11 / **20** |
| Custom API calling get all · both tokens QuickJS | 61 / **125** | 33 / **54** | 19 / **34** | 11 / **21** | 41 / **67** | 20 / **35** | 11 / **21** |
| Custom API in the sandbox Sandbox | 75 / **97** | 31 / **64** | 20 / **42** | 12 / **28** | 42 / **77** | 21 / **41** | 13 / **24** |
| Get all with a pre hook · both tokens QuickJS | 52 / **66** | 29 / **50** | 18 / **34** | 11 / **24** | 36 / **61** | 18 / **31** | 10 / **20** |
| Get by id | 31 / **37** | 18 / **33** | 11 / **26** | 7 / **18** | 22 / **42** | 11 / **22** | 6 / **14** |
| Get by id · both tokens | 33 / **44** | 20 / **35** | 12 / **23** | 7 / **15** | 24 / **41** | 12 / **22** | 7 / **14** |
| Get by id with caching | 7 / **12** | 5 / **8** | 3 / **5** | 2 / **3** | 6 / **9** | 3 / **4** | 2 / **3** |
| Get by id with caching · both tokens | 10 / **16** | 6 / **10** | 4 / **7** | 2 / **4** | 8 / **12** | 3 / **6** | 2 / **4** |
| Insert one row | 83 / **110** | 38 / **83** | 30 / **63** | 21 / **38** | 58 / **99** | 27 / **52** | 17 / **32** |

**PostgreSQL**

Requests per second (the average of two rounds of 15 seconds, 100 connections) :

| API | [1 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html)<br>shared · 1 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html)<br>shared · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html)<br>shared · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html)<br>shared · 32 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html)<br>dedicated · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html)<br>dedicated · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html)<br>dedicated · 16 GB |
|---|--:|--:|--:|--:|--:|--:|--:|
| Get all | [**3,787**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all) | [**5,577**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all) | [**8,395**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all) | [**13,054**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all) | [**4,782**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all) | [**8,912**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all) | [**12,641**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all) |
| Get all · both tokens | [**3,560**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all) | [**5,290**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all) | [**7,680**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all) | [**12,013**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all) | [**4,384**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all) | [**8,245**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all) | [**11,913**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all) |
| Get all with caching | [**11,064**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-with-caching) | [**17,836**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-with-caching) | [**26,420**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-with-caching) | [**39,947**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-with-caching) | [**14,883**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-with-caching) | [**30,205**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-with-caching) | [**43,173**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-with-caching) |
| Get all with caching · both tokens | [**8,797**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-with-caching) | [**14,083**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-with-caching) | [**20,113**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-with-caching) | [**32,966**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-with-caching) | [**11,615**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-with-caching) | [**24,179**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-with-caching) | [**35,403**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-with-caching) |
| Get all by stream | [**3,989**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-by-stream) | [**5,866**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-by-stream) | [**8,226**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-by-stream) | [**12,914**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-by-stream) | [**4,837**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-by-stream) | [**9,098**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-by-stream) | [**13,073**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-by-stream) |
| Get all by stream · both tokens | [**3,461**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-by-stream) | [**5,189**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-by-stream) | [**7,486**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-by-stream) | [**12,049**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-by-stream) | [**4,427**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-by-stream) | [**8,490**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-by-stream) | [**12,162**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-by-stream) |
| Custom API calling get all QuickJS | [**2,178**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#custom-api-calling-get-all) | [**3,806**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#custom-api-calling-get-all) | [**5,658**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#custom-api-calling-get-all) | [**9,350**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#custom-api-calling-get-all) | [**3,059**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#custom-api-calling-get-all) | [**5,886**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#custom-api-calling-get-all) | [**9,176**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#custom-api-calling-get-all) |
| Custom API calling get all · both tokens QuickJS | [**2,016**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#custom-api-calling-get-all) | [**3,461**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#custom-api-calling-get-all) | [**5,158**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#custom-api-calling-get-all) | [**8,433**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#custom-api-calling-get-all) | [**2,801**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#custom-api-calling-get-all) | [**5,442**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#custom-api-calling-get-all) | [**8,561**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#custom-api-calling-get-all) |
| Custom API in the sandbox Sandbox | [**1,871**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#custom-api-in-the-sandbox) | [**3,423**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#custom-api-in-the-sandbox) | [**5,126**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#custom-api-in-the-sandbox) | [**8,682**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#custom-api-in-the-sandbox) | [**2,389**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#custom-api-in-the-sandbox) | [**4,673**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#custom-api-in-the-sandbox) | [**7,916**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#custom-api-in-the-sandbox) |
| Get all with a pre hook · both tokens QuickJS | [**2,318**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-with-a-pre-hook) | [**3,884**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-with-a-pre-hook) | [**6,151**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-with-a-pre-hook) | [**9,668**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-with-a-pre-hook) | [**3,246**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-with-a-pre-hook) | [**6,280**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-with-a-pre-hook) | [**9,524**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-with-a-pre-hook) |
| Get by id | [**4,105**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-by-id) | [**6,325**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-by-id) | [**9,446**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-by-id) | [**13,656**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-by-id) | [**5,090**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-by-id) | [**9,655**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-by-id) | [**13,571**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-by-id) |
| Get by id · both tokens | [**3,887**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-by-id) | [**5,739**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-by-id) | [**8,233**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-by-id) | [**12,548**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-by-id) | [**4,626**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-by-id) | [**8,790**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-by-id) | [**12,656**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-by-id) |
| Get by id with caching | [**12,083**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-by-id-with-caching) | [**19,622**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-by-id-with-caching) | [**26,617**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-by-id-with-caching) | [**43,050**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-by-id-with-caching) | [**16,517**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-by-id-with-caching) | [**33,015**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-by-id-with-caching) | [**47,888**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-by-id-with-caching) |
| Get by id with caching · both tokens | [**9,402**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-by-id-with-caching) | [**14,989**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-by-id-with-caching) | [**21,238**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-by-id-with-caching) | [**34,322**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-by-id-with-caching) | [**12,500**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-by-id-with-caching) | [**25,875**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-by-id-with-caching) | [**38,045**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-by-id-with-caching) |
| Insert one row | [**1,818**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#insert-one-row) | [**3,021**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#insert-one-row) | [**3,969**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#insert-one-row) | [**5,754**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#insert-one-row) | [**2,335**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#insert-one-row) | [**4,236**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#insert-one-row) | [**5,874**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#insert-one-row) |

Latency in milliseconds, p50 / **p99**, of the same runs :

| API | [1 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html)<br>shared · 1 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html)<br>shared · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html)<br>shared · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html)<br>shared · 32 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html)<br>dedicated · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html)<br>dedicated · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html)<br>dedicated · 16 GB |
|---|--:|--:|--:|--:|--:|--:|--:|
| Get all | 25 / **51** | 18 / **22** | 11 / **14** | 7 / **9** | 20 / **24** | 11 / **13** | 7 / **10** |
| Get all · both tokens | 28 / **36** | 18 / **22** | 12 / **15** | 8 / **10** | 22 / **27** | 12 / **14** | 8 / **10** |
| Get all with caching | 8 / **13** | 5 / **8** | 3 / **5** | 2 / **3** | 6 / **10** | 3 / **5** | 2 / **3** |
| Get all with caching · both tokens | 11 / **17** | 7 / **12** | 4 / **8** | 3 / **4** | 8 / **12** | 4 / **6** | 2 / **4** |
| Get all by stream | 24 / **31** | 17 / **20** | 12 / **14** | 7 / **9** | 20 / **25** | 10 / **13** | 7 / **9** |
| Get all by stream · both tokens | 29 / **37** | 19 / **23** | 13 / **15** | 8 / **10** | 22 / **26** | 11 / **13** | 8 / **10** |
| Custom API calling get all QuickJS | 46 / **57** | 26 / **30** | 17 / **20** | 10 / **13** | 32 / **37** | 16 / **19** | 10 / **13** |
| Custom API calling get all · both tokens QuickJS | 48 / **57** | 28 / **32** | 19 / **22** | 11 / **14** | 35 / **41** | 18 / **21** | 11 / **14** |
| Custom API in the sandbox Sandbox | 52 / **100** | 28 / **51** | 19 / **35** | 11 / **20** | 40 / **72** | 21 / **38** | 12 / **22** |
| Get all with a pre hook · both tokens QuickJS | 42 / **53** | 25 / **31** | 16 / **18** | 10 / **12** | 30 / **36** | 15 / **18** | 10 / **13** |
| Get by id | 24 / **31** | 15 / **19** | 10 / **12** | 7 / **8** | 19 / **22** | 10 / **12** | 7 / **9** |
| Get by id · both tokens | 25 / **32** | 17 / **21** | 11 / **17** | 7 / **10** | 20 / **40** | 11 / **13** | 7 / **11** |
| Get by id with caching | 8 / **12** | 5 / **7** | 3 / **5** | 2 / **3** | 5 / **9** | 3 / **4** | 2 / **3** |
| Get by id with caching · both tokens | 10 / **16** | 6 / **10** | 4 / **7** | 2 / **4** | 7 / **12** | 3 / **5** | 2 / **4** |
| Insert one row | 54 / **64** | 33 / **38** | 24 / **28** | 17 / **19** | 42 / **49** | 23 / **28** | 16 / **19** |

**MySQL**

Requests per second (the average of two rounds of 15 seconds, 100 connections) :

| API | [1 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html)<br>shared · 1 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html)<br>shared · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html)<br>shared · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html)<br>shared · 32 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html)<br>dedicated · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html)<br>dedicated · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html)<br>dedicated · 16 GB |
|---|--:|--:|--:|--:|--:|--:|--:|
| Get all | [**4,623**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all) | [**6,660**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all) | [**9,375**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all) | [**13,816**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all) | [**5,418**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all) | [**10,000**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all) | [**13,748**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all) |
| Get all · both tokens | [**4,126**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all) | [**5,902**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all) | [**8,338**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all) | [**12,645**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all) | [**4,939**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all) | [**9,236**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all) | [**12,712**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all) |
| Get all with caching | [**11,245**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-with-caching) | [**18,227**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-with-caching) | [**25,630**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-with-caching) | [**40,335**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-with-caching) | [**15,123**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-with-caching) | [**30,217**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-with-caching) | [**44,027**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-with-caching) |
| Get all with caching · both tokens | [**8,870**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-with-caching) | [**13,394**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-with-caching) | [**20,763**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-with-caching) | [**33,000**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-with-caching) | [**11,626**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-with-caching) | [**24,025**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-with-caching) | [**35,915**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-with-caching) |
| Get all by stream | [**4,213**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-by-stream) | [**5,815**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-by-stream) | [**8,355**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-by-stream) | [**12,489**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-by-stream) | [**5,034**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-by-stream) | [**9,458**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-by-stream) | [**13,095**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-by-stream) |
| Get all by stream · both tokens | [**3,662**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-by-stream) | [**5,317**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-by-stream) | [**7,469**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-by-stream) | [**11,587**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-by-stream) | [**4,518**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-by-stream) | [**8,733**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-by-stream) | [**12,340**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-by-stream) |
| Custom API calling get all QuickJS | [**2,419**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#custom-api-calling-get-all) | [**4,090**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#custom-api-calling-get-all) | [**6,016**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#custom-api-calling-get-all) | [**9,698**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#custom-api-calling-get-all) | [**3,357**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#custom-api-calling-get-all) | [**6,513**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#custom-api-calling-get-all) | [**9,820**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#custom-api-calling-get-all) |
| Custom API calling get all · both tokens QuickJS | [**2,231**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#custom-api-calling-get-all) | [**3,666**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#custom-api-calling-get-all) | [**5,536**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#custom-api-calling-get-all) | [**8,962**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#custom-api-calling-get-all) | [**3,058**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#custom-api-calling-get-all) | [**6,032**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#custom-api-calling-get-all) | [**9,129**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#custom-api-calling-get-all) |
| Custom API in the sandbox Sandbox | [**2,170**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#custom-api-in-the-sandbox) | [**3,834**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#custom-api-in-the-sandbox) | [**5,486**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#custom-api-in-the-sandbox) | [**9,181**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#custom-api-in-the-sandbox) | [**2,714**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#custom-api-in-the-sandbox) | [**5,174**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#custom-api-in-the-sandbox) | [**8,657**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#custom-api-in-the-sandbox) |
| Get all with a pre hook · both tokens QuickJS | [**2,688**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-all-with-a-pre-hook) | [**4,389**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-all-with-a-pre-hook) | [**6,768**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-all-with-a-pre-hook) | [**10,192**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-all-with-a-pre-hook) | [**3,524**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-all-with-a-pre-hook) | [**6,820**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-all-with-a-pre-hook) | [**10,204**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-all-with-a-pre-hook) |
| Get by id | [**5,090**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-by-id) | [**7,155**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-by-id) | [**9,893**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-by-id) | [**14,402**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-by-id) | [**5,874**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-by-id) | [**10,654**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-by-id) | [**14,510**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-by-id) |
| Get by id · both tokens | [**4,526**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-by-id) | [**6,551**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-by-id) | [**8,892**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-by-id) | [**13,222**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-by-id) | [**5,304**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-by-id) | [**9,758**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-by-id) | [**13,517**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-by-id) |
| Get by id with caching | [**12,193**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-by-id-with-caching) | [**19,858**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-by-id-with-caching) | [**27,185**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-by-id-with-caching) | [**43,160**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-by-id-with-caching) | [**16,379**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-by-id-with-caching) | [**32,897**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-by-id-with-caching) | [**48,818**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-by-id-with-caching) |
| Get by id with caching · both tokens | [**9,217**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#get-by-id-with-caching) | [**15,385**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#get-by-id-with-caching) | [**22,684**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#get-by-id-with-caching) | [**34,667**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#get-by-id-with-caching) | [**12,515**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#get-by-id-with-caching) | [**25,837**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#get-by-id-with-caching) | [**38,544**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#get-by-id-with-caching) |
| Insert one row | [**1,651**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#insert-one-row) | [**2,371**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#insert-one-row) | [**3,181**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#insert-one-row) | [**3,532**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#insert-one-row) | [**2,081**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#insert-one-row) | [**3,462**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#insert-one-row) | [**3,542**](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#insert-one-row) |

Latency in milliseconds, p50 / **p99**, of the same runs :

| API | [1 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html)<br>shared · 1 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html)<br>shared · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html)<br>shared · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html)<br>shared · 32 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html)<br>dedicated · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html)<br>dedicated · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html)<br>dedicated · 16 GB |
|---|--:|--:|--:|--:|--:|--:|--:|
| Get all | 21 / **27** | 14 / **17** | 10 / **12** | 6 / **8** | 18 / **22** | 9 / **11** | 7 / **9** |
| Get all · both tokens | 23 / **31** | 16 / **20** | 12 / **17** | 7 / **10** | 20 / **24** | 10 / **12** | 7 / **10** |
| Get all with caching | 8 / **13** | 5 / **8** | 3 / **6** | 2 / **3** | 6 / **9** | 3 / **5** | 2 / **3** |
| Get all with caching · both tokens | 11 / **17** | 7 / **10** | 4 / **7** | 3 / **4** | 8 / **13** | 4 / **6** | 2 / **4** |
| Get all by stream | 22 / **29** | 17 / **21** | 12 / **14** | 8 / **10** | 19 / **23** | 10 / **12** | 7 / **9** |
| Get all by stream · both tokens | 26 / **34** | 18 / **22** | 13 / **15** | 8 / **10** | 21 / **26** | 11 / **13** | 8 / **10** |
| Custom API calling get all QuickJS | 41 / **51** | 24 / **28** | 16 / **19** | 10 / **12** | 30 / **35** | 15 / **17** | 10 / **12** |
| Custom API calling get all · both tokens QuickJS | 44 / **53** | 27 / **31** | 17 / **20** | 11 / **14** | 32 / **38** | 16 / **19** | 10 / **13** |
| Custom API in the sandbox Sandbox | 43 / **70** | 25 / **46** | 17 / **33** | 10 / **19** | 35 / **64** | 19 / **35** | 11 / **20** |
| Get all with a pre hook · both tokens QuickJS | 37 / **47** | 22 / **27** | 14 / **17** | 9 / **13** | 27 / **59** | 14 / **17** | 9 / **13** |
| Get by id | 19 / **25** | 13 / **16** | 9 / **11** | 6 / **8** | 16 / **20** | 9 / **11** | 6 / **8** |
| Get by id · both tokens | 21 / **28** | 15 / **19** | 10 / **13** | 7 / **9** | 18 / **22** | 10 / **12** | 7 / **9** |
| Get by id with caching | 8 / **12** | 4 / **7** | 3 / **5** | 2 / **3** | 5 / **9** | 2 / **4** | 2 / **3** |
| Get by id with caching · both tokens | 10 / **16** | 6 / **9** | 4 / **6** | 2 / **4** | 7 / **12** | 3 / **5** | 2 / **4** |
| Insert one row | 59 / **71** | 41 / **49** | 31 / **35** | 28 / **35** | 48 / **54** | 29 / **33** | 28 / **38** |

The custom API without a database, requests per second : in the server (lean code) 1 vCPU shared **8,096** · 2 vCPU shared **14,731** · 4 vCPU shared **26,046** · 8 vCPU shared **47,967** · 2 vCPU dedicated **10,790** · 4 vCPU dedicated **21,532** · 8 vCPU dedicated **39,192** ; in the sandbox 1 vCPU shared **9,258** · 2 vCPU shared **12,669** · 4 vCPU shared **17,702** · 8 vCPU shared **27,302** · 2 vCPU dedicated **9,953** · 4 vCPU dedicated **18,562** · 8 vCPU dedicated **27,920**.

## More vCPUs

API Maker is one process which uses every vCPU of its server : the same APIs, from the smallest server to the largest.

**Get all, public, MongoDB : by vCPUs** · Shared CPU · Dedicated CPU

1 vCPUshared 1 GB $5 · 2,435

2 vCPUsshared 4 GB $24 · dedicated 4 GB $36 · 4,692 · 3,712

4 vCPUsshared 8 GB $48 · dedicated 8 GB $72 · 7,423 · 7,614

8 vCPUsshared 32 GB $192 · dedicated 16 GB $144 · 11,002 · 12,640

**Get by id with caching, public, MongoDB : by vCPUs** · Shared CPU · Dedicated CPU

1 vCPUshared 1 GB $5 · 12,140

2 vCPUsshared 4 GB $24 · dedicated 4 GB $36 · 18,970 · 16,455

4 vCPUsshared 8 GB $48 · dedicated 8 GB $72 · 26,444 · 32,588

8 vCPUsshared 32 GB $192 · dedicated 16 GB $144 · 44,564 · 47,980

**Custom API calling get all, public, MongoDB : by vCPUs QuickJS** · Shared CPU · Dedicated CPU

1 vCPUshared 1 GB $5 · 1,909

2 vCPUsshared 4 GB $24 · dedicated 4 GB $36 · 3,178 · 2,591

4 vCPUsshared 8 GB $48 · dedicated 8 GB $72 · 5,178 · 5,228

8 vCPUsshared 32 GB $192 · dedicated 16 GB $144 · 8,062 · 8,893

| API · database | 1 vCPU<br>shared | 2 vCPU<br>shared | 4 vCPU<br>shared | 8 vCPU<br>shared | 2 vCPU<br>dedicated | 4 vCPU<br>dedicated | 8 vCPU<br>dedicated |
|---|--:|--:|--:|--:|--:|--:|--:|
| Get all · MongoDB | 2,435 | 4,692 × 1.9 | 7,423 × 3.0 | 11,002 × 4.5 | 3,712 × 1.5 | 7,614 × 3.1 | 12,640 × 5.2 |
| Get all · PostgreSQL | 3,787 | 5,577 × 1.5 | 8,395 × 2.2 | 13,054 × 3.4 | 4,782 × 1.3 | 8,912 × 2.4 | 12,641 × 3.3 |
| Get all · MySQL | 4,623 | 6,660 × 1.4 | 9,375 × 2.0 | 13,816 × 3.0 | 5,418 × 1.2 | 10,000 × 2.2 | 13,748 × 3.0 |
| Get by id with caching · MongoDB | 12,140 | 18,970 × 1.6 | 26,444 × 2.2 | 44,564 × 3.7 | 16,455 × 1.4 | 32,588 × 2.7 | 47,980 × 4.0 |
| Get by id with caching · PostgreSQL | 12,083 | 19,622 × 1.6 | 26,617 × 2.2 | 43,050 × 3.6 | 16,517 × 1.4 | 33,015 × 2.7 | 47,888 × 4.0 |
| Get by id with caching · MySQL | 12,193 | 19,858 × 1.6 | 27,185 × 2.2 | 43,160 × 3.5 | 16,379 × 1.3 | 32,897 × 2.7 | 48,818 × 4.0 |
| Custom API calling get all · MongoDB QuickJS | 1,909 | 3,178 × 1.7 | 5,178 × 2.7 | 8,062 × 4.2 | 2,591 × 1.4 | 5,228 × 2.7 | 8,893 × 4.7 |
| Custom API in the sandbox · MongoDB Sandbox | 1,389 | 3,015 × 2.2 | 4,649 × 3.3 | 7,636 × 5.5 | 2,269 × 1.6 | 4,491 × 3.2 | 7,569 × 5.5 |
| Get all with a pre hook · MongoDB QuickJS | 1,984 | 3,339 × 1.7 | 5,327 × 2.7 | 8,512 × 4.3 | 2,713 × 1.4 | 5,460 × 2.8 | 9,279 × 4.7 |

*× n* : the requests per second against the 1 vCPU server (1 GB of memory : it also used its swap). From 1 to 8 shared vCPUs : get all ×4.5 on MongoDB, ×3.4 on PostgreSQL and ×3.0 on MySQL, get by id with caching ×3.7, the custom API ×4.2. On every server the database, Redis and the sandboxes run beside API Maker and take their share of the same vCPUs.

## Memory

The API Maker process at rest (with its two sandboxes started, before any request) and the most it held under load, the two sandboxes at rest, and the whole server : at rest with MongoDB, and the most it used while any database was loaded.

| Server | CPU | API Maker at rest | API Maker under load | Sandboxes at rest | Server at rest | Server under load |
|---|---|--:|--:|--:|--:|--:|
| [1 vCPU · 1 GB](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-1-vcpu-1gb.html#memory) | shared | 84 MB | 111 MB | 50 MB | 686 MB | 807 MB of 961 MB |
| [2 vCPU · 4 GB](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-2-vcpu-4gb.html#memory) | shared | 101 MB | 125 MB | 50 MB | 803 MB | 1658 MB of 3,915 MB |
| [4 vCPU · 8 GB](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-4-vcpu-8gb.html#memory) | shared | 109 MB | 142 MB | 55 MB | 872 MB | 2048 MB of 7,941 MB |
| [8 vCPU · 32 GB](https://docs.apimaker.dev/v4/docs/benchmarks/linode-shared-8-vcpu-32gb.html#memory) | shared | 112 MB | 154 MB | 55 MB | 1102 MB | 2710 MB of 32,095 MB |
| [2 vCPU · 4 GB](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-2-vcpu-4gb.html#memory) | dedicated | 99 MB | 127 MB | 50 MB | 773 MB | 1600 MB of 3,915 MB |
| [4 vCPU · 8 GB](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-4-vcpu-8gb.html#memory) | dedicated | 104 MB | 140 MB | 55 MB | 872 MB | 2024 MB of 7,941 MB |
| [8 vCPU · 16 GB](https://docs.apimaker.dev/v4/docs/benchmarks/linode-dedicated-8-vcpu-16gb.html#memory) | dedicated | 111 MB | 176 MB | 55 MB | 946 MB | 2602 MB of 15,991 MB |

## WebSockets

API Maker serves WebSockets on the port of its APIs. The same servers were filled with WebSocket clients, each with both tokens and a subscription : 26,484 clients connected at once on 1 vCPU and 1 GB, 3,662,564 on 8 vCPUs and 32 GB, 8.5 to 8.8 KB per client.

- [WebSocket benchmarks](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/index.html) : How many connections one server holds, the memory when it is full, new clients and notifications a second.
- [Scale to N users](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/scaling.html) : One big server or several small ones, the picture of N users, and the rule to count the servers.
- [All WebSocket results](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/summary.html) : Every server side by side : clients, memory per client, delivery times.

## Questions

### Does API Maker scale with more vCPUs ?

Yes : API Maker is one process which uses every vCPU of its server. Get all on MongoDB went from 2,435 requests per second on 1 vCPU to 4,692 on 2 shared, 7,423 on 4 shared, 11,002 on 8 shared, 3,712 on 2 dedicated, 7,614 on 4 dedicated, 12,640 on 8 dedicated. The database runs on the same server, so its own work grows with the load too.
