# API Maker WebSocket benchmarks : all results, every server side by side

> Every WebSocket result of API Maker on 7 Linode servers side by side : clients connected, memory per client, new clients and notifications a second, delivery times.

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

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

- [1 vCPU1 GB · 26k clients](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html)
- [2 vCPU4 GB · 338k clients](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html)
- [4 vCPU8 GB · 802k clients](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html)
- [8 vCPU32 GB · 3.66M clients](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html)

Dedicated CPU

- [2 vCPU4 GB · 338k clients](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html)
- [4 vCPU8 GB · 796k clients](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html)
- [8 vCPU16 GB · 1.73M clients](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html)

Compare

- [WebSocketsthe answers](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/index.html)
- [All resultsevery server side by side](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/summary.html)
- [Scale to N usersone server or many](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/scaling.html)

</nav>

WebSocket benchmarks · All results · API Maker 4.0.0 · 14 October 2026

**Every WebSocket result, side by side.**

7 Linode servers, from 1 to 8 vCPUs, shared and dedicated CPU, API Maker with its MongoDB and Redis on the same machine, and 3 clusters of API servers which share one Redis. 50,167,783 clients let in, 214,875,630 notifications delivered, 28,019,607 HTTP calls, 0 failures. Each number links to its run, with the output.

Most clients on one server

3,662,564

8 shared vCPUs, 32 GB

Memory per client

8.5 to 8.8KB

118,483 to 123,507 clients per GB

New clients / second

2,602 to 10,939

both tokens and a subscription

Delivery p50

0.83 to 2.51ms

a notification for one person

## Clients connected at once

**WebSocket clients connected at once** · Shared CPU · Dedicated CPU

[1 vCPU · 1 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html) · shared · $5 / month · 26,484

[2 vCPU · 4 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html) · shared · $24 / month · 338,016

[4 vCPU · 8 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html) · shared · $48 / month · 801,972

[8 vCPU · 32 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html) · shared · $192 / month · 3,662,564

[2 vCPU · 4 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html) · dedicated · $36 / month · 338,006

[4 vCPU · 8 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html) · dedicated · $72 / month · 795,888

[8 vCPU · 16 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html) · dedicated · $144 / month · 1,732,035

| Server | CPU · price / month | Clients connected | What ended first | API Maker | Whole server, used | Per client | Clients per $ a month |
|---|---|--:|---|--:|--:|--:|--:|
| [1 vCPU · 1 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html) | Shared · $5 | **26,484** | memory | 126 MB | 813 MB of 961 MB | 8.6 KB | 5,297 |
| [2 vCPU · 4 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html) | Shared · $24 | **338,016** | memory | 1,110 MB | 3,417 MB of 3,916 MB | 8.5 KB | 14,084 |
| [4 vCPU · 8 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html) | Shared · $48 | **801,972** | memory | 2,495 MB | 6,937 MB of 7,941 MB | 8.7 KB | 16,708 |
| [8 vCPU · 32 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html) | Shared · $192 | **3,662,564** | memory | 10,196 MB | 27,618 MB of 32,096 MB | 8.8 KB | 19,076 |
| [2 vCPU · 4 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html) | Dedicated · $36 | **338,006** | memory | 1,108 MB | 3,465 MB of 3,916 MB | 8.5 KB | 9,389 |
| [4 vCPU · 8 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html) | Dedicated · $72 | **795,888** | memory | 2,474 MB | 6,917 MB of 7,941 MB | 8.7 KB | 11,054 |
| [8 vCPU · 16 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html) | Dedicated · $144 | **1,732,035** | memory | 5,179 MB | 13,942 MB of 15,992 MB | 8.8 KB | 12,028 |

## Memory

| With every client connected | [1 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html)<br>shared · 1 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html)<br>shared · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html)<br>shared · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html)<br>shared · 32 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html)<br>dedicated · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html)<br>dedicated · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html)<br>dedicated · 16 GB |
|---|--:|--:|--:|--:|--:|--:|--:|
| Clients | [**26,484**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#capacity) | [**338,016**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#capacity) | [**801,972**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#capacity) | [**3,662,564**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#capacity) | [**338,006**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#capacity) | [**795,888**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#capacity) | [**1,732,035**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#capacity) |
| API Maker (process) | [126 MB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#memory-at-full) | [1,110 MB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#memory-at-full) | [2,495 MB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#memory-at-full) | [10,196 MB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#memory-at-full) | [1,108 MB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#memory-at-full) | [2,474 MB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#memory-at-full) | [5,179 MB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#memory-at-full) |
| Redis | 30 MB | 356 MB | 808 MB | 3,533 MB | 356 MB | 802 MB | 1,633 MB |
| Linux kernel (slab) | 200 MB | 1,635 MB | 3,715 MB | 16,443 MB | 1,627 MB | 3,691 MB | 7,839 MB |
| MongoDB of API Maker | 110 MB | 117 MB | 64 MB | 61 MB | 125 MB | 66 MB | 52 MB |
| Sandboxes | 143 MB | 91 MB | 206 MB | 245 MB | 99 MB | 203 MB | 334 MB |
| Whole server, used | **813 MB** | **3,417 MB** | **6,937 MB** | **27,618 MB** | **3,465 MB** | **6,917 MB** | **13,942 MB** |
| Available | 149 MB | 499 MB | 1,005 MB | 4,478 MB | 451 MB | 1,024 MB | 2,050 MB |
| Swap used | 176 MB | 310 MB | 609 MB | 2,691 MB | 270 MB | 594 MB | 1,525 MB |
| API Maker at rest, no client | 103 MB | 110 MB | 118 MB | 121 MB | 109 MB | 118 MB | 117 MB |
| Per client : API Maker | [3.3 KB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#per-client) | [3.1 KB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#per-client) | [3.3 KB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#per-client) | [3.2 KB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#per-client) | [3.1 KB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#per-client) | [3.3 KB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#per-client) | [3.2 KB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#per-client) |
| Per client : Linux kernel | 4.3 KB | 4.3 KB | 4.4 KB | 4.5 KB | 4.3 KB | 4.4 KB | 4.5 KB |
| Per client : Redis | 1.0 KB | 1.0 KB | 1.1 KB | 1.1 KB | 1.0 KB | 1.1 KB | 1.1 KB |
| Per client : in all | **8.6 KB** | **8.5 KB** | **8.7 KB** | **8.8 KB** | **8.5 KB** | **8.7 KB** | **8.8 KB** |
| Clients per GB | 121,927 | 123,507 | 120,250 | 118,483 | 123,507 | 120,250 | 118,886 |

## New clients per second

| 100 clients at a time | [1 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html)<br>shared · 1 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html)<br>shared · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html)<br>shared · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html)<br>shared · 32 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html)<br>dedicated · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html)<br>dedicated · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html)<br>dedicated · 16 GB |
|---|--:|--:|--:|--:|--:|--:|--:|
| Connect : the token of the API user | [**5,905**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#connect-1-token) | [**9,799**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#connect-1-token) | [**15,228**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#connect-1-token) | [**24,511**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#connect-1-token) | [**7,417**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#connect-1-token) | [**13,849**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#connect-1-token) | [**21,780**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#connect-1-token) |
| Connect : both tokens | [**5,302**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#connect-2-tokens) | [**9,504**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#connect-2-tokens) | [**12,826**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#connect-2-tokens) | [**24,719**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#connect-2-tokens) | [**7,077**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#connect-2-tokens) | [**12,535**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#connect-2-tokens) | [**19,391**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#connect-2-tokens) |
| Connect with both tokens and subscribe | [**2,602**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#subscribe) | [**4,041**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#subscribe) | [**7,009**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#subscribe) | [**10,939**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#subscribe) | [**3,464**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#subscribe) | [**6,627**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#subscribe) | [**10,093**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#subscribe) |
| Subscribe to an event with a can user connect code | [**2,097**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#can-user-connect) | [**3,438**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#can-user-connect) | [**5,916**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#can-user-connect) | [**9,280**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#can-user-connect) | [**2,891**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#can-user-connect) | [**5,533**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#can-user-connect) | [**8,963**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#can-user-connect) |
| Subscribe : the code reads the database | [**959**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#can-user-connect-database) | [**1,605**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#can-user-connect-database) | [**2,735**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#can-user-connect-database) | [**4,381**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#can-user-connect-database) | [**1,368**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#can-user-connect-database) | [**2,046**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#can-user-connect-database) | [**3,919**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#can-user-connect-database) |
| Subscribe : the code reads the clock | [**1,960**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#can-user-connect-sandbox) | [**3,031**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#can-user-connect-sandbox) | [**5,243**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#can-user-connect-sandbox) | [**7,741**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#can-user-connect-sandbox) | [**2,550**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#can-user-connect-sandbox) | [**4,505**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#can-user-connect-sandbox) | [**7,543**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#can-user-connect-sandbox) |
| Subscribed after, p50 | 33.2 ms | 21.5 ms | 12.5 ms | 7.91 ms | 25.1 ms | 13.4 ms | 8.85 ms |
| Subscribed after, p99 | 47.5 ms | 31.2 ms | 18.9 ms | 13.4 ms | 35.0 ms | 19.3 ms | 12.8 ms |

## Notifications

| How late : at a pace | [1 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html)<br>shared · 1 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html)<br>shared · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html)<br>shared · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html)<br>shared · 32 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html)<br>dedicated · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html)<br>dedicated · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html)<br>dedicated · 16 GB |
|---|--:|--:|--:|--:|--:|--:|--:|
| A notification for one person : delivery p50 | [**2.51 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#one-person) | [**1.45 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#one-person) | [**1.06 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#one-person) | [**0.94 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#one-person) | [**1.74 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#one-person) | [**1.04 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#one-person) | [**0.83 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#one-person) |
| … p99 | 3.82 ms | 3.15 ms | 2.03 ms | 6.54 ms | 3.70 ms | 2.03 ms | 1.27 ms |
| A broadcast : delivery p50 | [**10.3 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#broadcast) | [**8.82 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#broadcast) | [**7.56 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#broadcast) | [**8.70 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#broadcast) | [**10.3 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#broadcast) | [**8.00 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#broadcast) | [**6.53 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#broadcast) |
| … p99 | 21.6 ms | 18.0 ms | 16.4 ms | 19.9 ms | 18.3 ms | 17.3 ms | 14.0 ms |
| Rows inserted in a table : delivery p50 | [**51.3 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#insert) | [**25.3 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#insert) | [**18.1 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#insert) | [**13.4 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#insert) | [**35.1 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#insert) | [**20.7 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#insert) | [**12.9 ms**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#insert) |
| … p99 | 103 ms | 44.4 ms | 30.0 ms | 35.5 ms | 54.8 ms | 34.5 ms | 19.8 ms |

| How many : notifications a second | [1 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html)<br>shared · 1 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html)<br>shared · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html)<br>shared · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html)<br>shared · 32 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html)<br>dedicated · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html)<br>dedicated · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html)<br>dedicated · 16 GB |
|---|--:|--:|--:|--:|--:|--:|--:|
| A notification for one person | [**5,216**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#one-person) | [**7,562**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#one-person) | [**13,441**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#one-person) | [**21,208**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#one-person) | [**6,618**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#one-person) | [**12,791**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#one-person) | [**21,001**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#one-person) |
| … HTTP calls a second | 5,285 | 7,657 | 13,711 | 21,628 | 6,757 | 13,049 | 21,252 |
| A broadcast | [**72,245**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#broadcast) | [**103,387**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#broadcast) | [**147,974**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#broadcast) | [**196,995**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#broadcast) | [**69,874**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#broadcast) | [**117,698**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#broadcast) | [**206,570**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#broadcast) |
| … HTTP calls a second | 73 | 105 | 150 | 199 | 71 | 120 | 209 |
| Rows inserted in a table | [**40,498**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#insert) | [**59,275**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#insert) | [**92,279**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#insert) | [**136,942**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#insert) | [**49,312**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#insert) | [**76,505**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#insert) | [**132,499**](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#insert) |
| … HTTP calls a second | 416 | 604 | 932 | 1,396 | 506 | 779 | 1,350 |

## With every client connected

|  | [1 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html)<br>shared · 1 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html)<br>shared · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html)<br>shared · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html)<br>shared · 32 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html)<br>dedicated · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html)<br>dedicated · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html)<br>dedicated · 16 GB |
|---|--:|--:|--:|--:|--:|--:|--:|
| Clients connected | [26,484](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#full) | [338,016](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#full) | [801,972](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#full) | [3,662,564](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html#full) | [338,006](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#full) | [795,888](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#full) | [1,732,035](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html#full) |
| A notification for one person : delivery p50 | **2.49 ms** | **1.47 ms** | **1.22 ms** | **1.28 ms** | **1.76 ms** | **1.03 ms** | **0.87 ms** |
| … p99 | 7.48 ms | 3.27 ms | 2.44 ms | 121 ms | 3.03 ms | 1.99 ms | 1.47 ms |
| Notifications a second, one person each | 5,226 | 6,967 | 10,799 | 8,384 | 5,705 | 9,745 | 15,938 |
| Get all with both tokens, no client : req/s | 2,095 | 3,379 | 6,072 | 9,529 | 3,058 | 5,268 | 9,672 |
| Get all with both tokens, every client connected : req/s | **1,983** | **3,006** | **4,767** | **3,997** | **2,614** | **4,185** | **7,305** |

## A restart

| API Maker restarts | [1 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html)<br>shared · 1 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html)<br>shared · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html)<br>shared · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html)<br>shared · 32 GB | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html)<br>dedicated · 4 GB | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html)<br>dedicated · 8 GB | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html)<br>dedicated · 16 GB |
|---|--:|--:|--:|--:|--:|--:|--:|
| Clients connected | [19,863](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html#restart) | [253,512](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html#restart) | [601,479](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html#restart) | – | [253,504](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html#restart) | [596,916](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html#restart) | – |
| All back after | **10.0 s** | **90.0 s** | **189 s** | – | **159 s** | **189 s** | – |
| A client was away, p50 | 7.4 s | 48.9 s | 76.7 s | – | 68.7 s | 79.1 s | – |
| A client was away, p99 | 9.1 s | 78.2 s | 173 s | – | 96.5 s | 172 s | – |
| Every client leaves at once : sockets closed after | 1.5 s | 10.1 s | 18.0 s | – | 15.1 s | 23.4 s | – |
| … Redis forgot them after | 2.6 s | 13.8 s | 26.9 s | – | 16.1 s | 29.1 s | – |

## Several servers

The same 8 dedicated vCPUs and 16 GB for API Maker, as one server, two, and four, with MongoDB and Redis on a server of their own : [Scale to N users](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/scaling.html).

| | [1 × 8 vCPU · 16 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/scaling.html#cluster-1x8) | [2 × 4 vCPU · 8 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/scaling.html#cluster-2x4) | [4 × 2 vCPU · 4 GB](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/scaling.html#cluster-4x2) |
|---|--:|--:|--:|
| Clients connected at once | **2,022,026** | **1,915,960** | **1,619,372** |
| … on each server | 2,022,026 | 957,980 | 404,843 |
| Memory per client, in all | 8.8 KB | 8.8 KB | 8.6 KB |
| New clients a second (both tokens, a subscription) | **12,412** | **12,696** | **10,297** |
| … connect only, both tokens | 19,917 | 21,417 | 17,882 |
| A notification for one person : delivery p50 | 1.01 ms | 1.18 ms | 1.37 ms |
| … p99 | 1.72 ms | 1.80 ms | 2.51 ms |
| Notifications a second, one person each | 24,305 | 24,977 | 25,566 |
| Notifications a second, broadcast | 217,711 | 228,910 | 272,609 |
| One server stops : clients dropped | 1,516,519 of 1,516,519 (100 %) | 383,192 of 766,384 (50 %) | 242,906 of 971,623 (25 %) |
| … all back after | 221 s | 68.0 s | 38.0 s |

## The servers

| | [1 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-1-vcpu-1gb.html) | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-2-vcpu-4gb.html) | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-4-vcpu-8gb.html) | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-shared-8-vcpu-32gb.html) | [2 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-2-vcpu-4gb.html) | [4 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-4-vcpu-8gb.html) | [8 vCPU](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/linode-dedicated-8-vcpu-16gb.html) |
|---|---|---|---|---|---|---|---|
| Plan | Nanode 1 GB<br>g6-nanode-1 | Linode 4 GB<br>g6-standard-2 | Linode 8 GB<br>g6-standard-4 | Linode 32 GB<br>g6-standard-8 | Dedicated 4 GB<br>g6-dedicated-2 | Dedicated 8 GB<br>g6-dedicated-4 | Dedicated 16 GB<br>g6-dedicated-8 |
| CPU | AMD EPYC 7642<br>shared cpu | AMD EPYC 7642<br>shared cpu | AMD EPYC 7642<br>shared cpu | AMD EPYC 7642<br>shared cpu | AMD EPYC 7642<br>dedicated cpu | AMD EPYC 7642<br>dedicated cpu | AMD EPYC 7642<br>dedicated cpu |
| Memory | 1 GB | 4 GB | 8 GB | 32 GB | 4 GB | 8 GB | 16 GB |
| Price / month | $5 | $24 | $48 | $192 | $36 | $72 | $144 |
| Load generator | Dedicated 8 GB | Dedicated 8 GB | Dedicated 16 GB | Dedicated 64 GB | Dedicated 8 GB | Dedicated 16 GB | Dedicated 32 GB |
| … busy at most | 66 % | 98 % | 91 % | 85 % | 98 % | 90 % | 84 % |

How every number was taken : [How the WebSocket benchmarks are made](https://docs.apimaker.dev/v4/docs/benchmarks/websockets/methodology.html). The data : [benchmark dataset](https://apimaker.dev/json/benchmark_dataset.json) (`https://apimaker.dev/json/benchmark_dataset.json`).
