Skip to content

Limits

What Free and Paid let an account have at once and keep, how fast it may make things, and the limits of the API itself.

Aggiornato il

Questa pagina non è ancora tradotta in italiano: eccola in inglese.

Each plan

Compute, at once, in all projects of the account

Gratuito A pagamento
Istanza più grande 2 vCPU, 4 GiB 8 vCPU, 16 GiB
Istanze sveglie contemporaneamente 5 500
Le loro vCPU in tutto 10 500
La loro memoria in tutto 10 GiB 1 000 GiB
Istanze dormienti conservate 20 10 000

How fast things are made

Gratuito A pagamento
Sandbox create al minuto 10 600
Sandbox create all’ora da un progetto 200 10 000
Cubi e versioni creati all’ora 10 500

Cube

Gratuito A pagamento
Cubi 10 500
Variabili d’ambiente e segreti di un’app 64 128
Cubi e versioni creati all’ora 10 500
Gratuito A pagamento
Istanze di un’app in una regione: senza max_instances / al massimo 2 / 5 50 / 500
Istanze sveglie contemporaneamente 5 500
Le loro vCPU in tutto 10 500
La loro memoria in tutto 10 GiB 1 000 GiB
Gratuito A pagamento
Richieste al secondo concesse a un Cubo, su ogni nodo edge 50 Nessun limite

An app’s instances in a region are all it has there, awake, paused or asleep. Keyed instances are sandboxes: they count among the sandboxes awake and kept asleep, and the sandboxes made a minute and an hour, and there is no number of keys apart from those. The requests a second are counted at each edge on its own, before a request reaches an instance: past them the edge answers 429 app_rate_limited with Retry-After: 1, and the request is not counted or billed. A request with a key counts the same.

Drives and volumes, of one project

Gratuito A pagamento
Drive e volumi di un progetto 3 500
Drive più grande 10 GiB 1 TiB
Tutti i Drive di un progetto insieme 15 GiB Nessun limite
Drive e volumi montati da una sandbox 8 8

A fork of a Drive counts as a new Drive of its size. A Drive’s snapshots are not counted: a Drive may have any number, each billed for what it keeps alone. See Drive snapshots and forks.

Secrets, of one project

Gratuito A pagamento
Segreti di un progetto 100 1 000
Segreto più grande 64 KiB 64 KiB
Segreti dati a una sandbox, in tutto 64 KiB 64 KiB

Logs

Gratuito A pagamento
Giorni di conservazione delle righe di log di un Cubo 3 giorni 30 giorni
Destinazioni di esportazione dei log 1 10
Lettori che seguono contemporaneamente i log delle app di un account 10 100

Connections out, on each machine

Gratuito A pagamento
Connessioni in uscita contemporanee tramite il proxy di uscita di una macchina, sommando le sandbox dell’account su quella macchina 1 024 8 192

A sandbox whose network rules name hosts sends each of its TCP connections out, over IPv4 and IPv6 alike, through its machine’s egress proxy; one with no rules, or rules of addresses alone, does not. On each machine, the account’s sandboxes there share the number above, together, however many projects they are of. Past it, their new connections are refused, in words that say to try again (the first request of a plain HTTP connection is answered 503 egress_connections_full, retryable; a TLS handshake ends with an alert; any other connection is reset), and every other account’s go on. One sandbox has at most 2 048 such connections at once, and a connection that carries nothing either way for 15 minutes is closed.

  • New connections are taken in at up to 2 000 a second for the account’s sandboxes together, 4 000 at once. Those past it wait, and are taken in at that pace: none is refused for it.
  • When the plan changes, Paid’s share holds on each machine within seconds; Free’s from the next month, as the bill’s terms do. Connections already open past a smaller share are not cut: they end by themselves.

How the plan’s limits work

  • They are quotas, not reservations. A call within them can still be refused when the machines are full (503 no_capacity).
  • Reaching one refuses only new things. What is awake keeps running. A call that would go past a limit of what is awake or made answers 403 plan_cap_reached, with param naming the limit and a message that says what the limit is, what is used, and how to get more: Paid, or asking us to raise it for your account. The rates (made a minute, made an hour) are retryable, with Retry-After.
  • Wakes count, however they come. A call that wakes a sleeping sandbox (a command, its files, a restart, a snapshot, a restore) is held to the limits of what is awake, and so is a request at a sandbox’s link or at a keyed instance’s address that would wake one, over HTTP/1.1, HTTP/2 or HTTP/3: past them, its machine refuses the request with 403 plan_cap_reached, and nothing wakes. So is a connection to a sleeping sandbox’s own IPv6 address, or to its address on the project’s network: past them, it is refused (reset). A timer that comes due in a sleeping sandbox (its processes’ timers, the time of day it names in wake_daily_at, a database’s pg_cron jobs) wakes it only within them too: past them, the wake waits, and is tried again every few seconds until the account has room. An app’s sleeping instances are woken for its requests only while the account has room for them; past it, the requests go to its instances that are awake. Each machine with something of the account asleep is told its part of the account’s room every few seconds, and the parts together are the room, so sandboxes woken on several machines at once never go past a limit together. An app’s instances are woken within the app’s own share of the room: what the account has left for them is shared between the app’s regions every few seconds, by how much each one used it lately, so its instances in all regions together stay within the limits too; a region that needs more than its share is given what the other regions do not use within seconds. A wake on one machine may be refused for a few seconds while the account has room left on another (in another region, as a rule); its message says so, and the parts are shared out again within seconds. A burst of requests to one sleeping sandbox wakes it once, and none of them is refused for it.
  • Never refused by them: putting a sandbox to sleep, and deleting.
  • Moving back to Free keeps what you have: sandboxes larger than Free allows sleep with their data, and Drives and secrets past its numbers stay. Only the next new one is refused.
  • What a project keeps: a Drive past the plan’s numbers is refused with 403 drive_limit_reached, a volume with 403 volume_limit_reached, a secret with 403 secret_limit_reached. What an account keeps, in all its projects: an app past the plan’s number with 403 app_limit_reached; an app with more environment variables and secrets than the plan allows with 403 env_limit_reached, an instance larger than its largest with 403 plan_size_exceeded.
  • Raised on request: what an account may have at once and how fast it makes things, the number of Drives on Paid (a soft limit), and Drives of up to 16 TiB for an enterprise account. The account asks with POST /v1/limits/requests, and is told the answer by an event and by mail: see raising a limit.

GET /v1/account (caps) shows each limit of the account with what is used now; GET /v1/billing shows the plan’s.

When a limit is reached

Every refusal of a limit has a section on the errors page, where its docs_url leads: what it refuses, and what lifts it. Those marked on request we raise for one account: raising a limit.

What reached its limit Refused with Lifted by
What the account has awake at once, keeps asleep, and makes in a minute or an hour; an app’s instances in a region 403 plan_cap_reached Sleeping or deleting; Paid; on request
A project’s Drives and volumes 403 drive_limit_reached, volume_limit_reached Deleting; Paid; how many on Paid, and how large for an enterprise account, on request
The largest sandbox 403 plan_size_exceeded A smaller size; Paid
A project’s or a sandbox’s spend limit 403 spend_limit_reached Raising your limit
On Free, a quota of the day: CPU time, memory, requests, traffic out or logs 429 quota_used_up 00:00 UTC; Paid
On Free, what the account keeps at once: volume data or NVMe cache 403 storage_quota_reached Deleting; Paid
On Paid, what a period includes, with no balance to pay for more 403 balance_used_up; to a visitor, plan_limit_reached A top-up; the next period
A project’s secrets 403 secret_limit_reached Deleting; Paid
An account’s apps; an app’s variables and secrets; an app’s key secrets 403 app_limit_reached, env_limit_reached, key_secret_limit_reached Deleting; Paid
A project’s domains and shared variables; an account’s destinations of its logs 403 domain_limit_reached, variable_limit_reached, destination_limit_reached Deleting; Paid, of destinations
An account’s share of a machine’s drive 403 account_share_reached Deleting; a moment later, another machine
An app’s requests a second at an edge 429 app_rate_limited A second later; Paid
Readers following the logs at once 429 too_many_followers Ending one
The account’s connections out on a machine 503 egress_connections_full Closing connections
A sandbox’s Drives; an account’s projects; a user’s free accounts; a sandbox’s tokens revoked one by one 409 too_many_drives, too_many_projects, too_many_free_accounts, too_many_revoked_tokens Fewer of them
A sandbox’s volumes; a project’s SSH keys 409 too_many_volumes, too_many_ssh_keys Fewer of them
Connections from the SSH gateway to one sandbox at once 503 too_many_forwards Ending one
What Paid alone has: a database’s tiered storage, a Browser session’s proxy 403 paid_plan_required, proxy_not_on_plan Paid
A project’s usage reports, one at a time 429 report_in_progress Asking again when the other is answered
Tries at signing in and signing up 429 rate_limited Retry-After
Requests from one address at an edge at once; a request’s body 429 too_many_connections, 413 body_too_large Fewer at once; less in one call
What top-ups may come to in a month 403 trust_limit_exceeded The trust level rising; on request

Limits of the API

What Limit
Names of sandboxes, snapshots, Drives and volumes 1 to 63 lower-case letters, digits and hyphens; not starting or ending with a hyphen
Names of apps 1 to 40 lower-case letters, digits and hyphens, starting with a letter
Labels (metadata) 64 a sandbox (60 an app); keys up to 64 characters, values up to 1 024
Environment variables Names like [A-Za-z_][A-Za-z0-9_]*; 256 KiB in all
A request Head up to 64 KiB. A body of JSON up to 1 MiB for a sandbox’s calls, 64 MiB where it carries a command’s input (run, exec, …/stdin), up to 1 GiB for the platform’s own calls (413 body_too_large, whose message says the limit)
A request through the proxy to an app or a link Body up to 100 MB, an answer that pauses up to 125 seconds; more with an app’s direct_url (addresses)
Reading and writing a file Any length in one call: the bytes pass through as they come, the sandbox’s disk is the limit (written with a sandbox’s token: up to 1 GiB a call)
A command’s output The last 16 MiB of each command is kept
Forks 1 to 64 in one call
Lists limit 1 to 1 000, 100 unless you say
Idempotency-Key 1 to 255 characters; remembered for 24 hours
Tokens for one sandbox An hour unless you say; 30 days at most; 1 000 revoked one by one at once, until they run out (409 too_many_revoked_tokens past it: one token alone)
Network rules allow and deny up to 1 000 entries each; http and inject up to 100 hosts each
Connections through the egress proxy 2 048 at once for one sandbox, within the account’s share of the machine (above)
Requests one app instance takes at once scale.concurrency, 1 to 1 000, or no limit
Readers following the logs of an account’s apps at once By the plan: see logs above (429 too_many_followers past it)
An image Up to 8 GiB, as its layers are in its registry and unpacked: a larger one fails its version or its sandbox with image_unpack_failed, which says both sizes
Shared variables 1 000 a project, values up to 32 KiB
Your own domains 100 a project
An object One PutObject up to 5 GiB; multipart uploads of up to 10 000 parts of 5 MiB to 5 GiB
Navigazione

Digita per cercare…

↑↓ naviga↵ selezionaEsc chiudi