Skip to content

限制

免费版和付费版允许账户同时拥有和保有多少、创建东西的速度上限,以及 API 本身的限制。

更新于

各套餐

计算资源(同时运行,账户所有项目合计)

免费版 付费版
单个实例上限 2 vCPU、4 GiB 8 vCPU、16 GiB
同时运行的实例 5 500
vCPU 合计 10 500
内存合计 10 GiB 1,000 GiB
保留的休眠实例 20 10,000

创建速度

免费版 付费版
每分钟创建的沙箱 10 600
单个项目每小时创建的沙箱 200 10,000
每小时创建的方块和版本 10 500

方块

免费版 付费版
方块 10 500
单个应用的环境变量和机密 64 128
每小时创建的方块和版本 10 500
免费版 付费版
单个应用在一个区域的实例数:未设 max_instances 时 / 最多 2 / 5 50 / 500
同时运行的实例 5 500
vCPU 合计 10 500
内存合计 10 GiB 1,000 GiB
免费版 付费版
单个方块在每个边缘节点每秒可接收的请求数 50 不限

应用在一个区域中的实例,就是它在那里的全部实例,无论运行、暂停还是休眠。键控实例就是沙箱:它们计入运行中和保持休眠的沙箱数,也计入每分钟和每小时创建的沙箱数,除此之外键的数量没有单独的限制。每秒请求数在每个边缘节点上单独计算,在请求到达实例之前:超过时,边缘节点返回 429 app_rate_limited,带 Retry-After: 1,这个请求不计数也不计费。带键的请求同样计算。

云盘和存储卷(单个项目)

免费版 付费版
单个项目的云盘和存储卷 3 500
单个云盘上限 10 GiB 1 TiB
一个项目所有云盘合计 15 GiB 不限
单个沙箱挂载的云盘和存储卷 8 8

云盘的分叉按其大小算作一个新云盘。云盘的快照不计数:一个云盘可以有任意多个快照,每个按它单独保留的数据计费。参见云盘的快照与分叉。

机密(单个项目)

免费版 付费版
单个项目的机密 100 1,000
单个机密上限 64 KiB 64 KiB
提供给单个沙箱的机密合计 64 KiB 64 KiB

日志

免费版 付费版
方块日志行的保留天数 3 天 30 天
日志导出目标 1 10
同时实时跟踪账户内应用日志的连接数 10 100

出站连接(每台机器)

免费版 付费版
同时经由一台机器的出站代理建立的连接数,账户在该机器上的所有沙箱合计 1,024 8,192

如果沙箱的网络规则指定了主机,它的每个出站 TCP 连接(IPv4 和 IPv6 都一样)都要经过所在机器的出站代理;没有规则、或只有按地址的规则的沙箱则不经过。在每台机器上,账户在那里的沙箱无论属于多少个项目,都共享上面这个数量。超过时,它们的新连接会被拒绝,并提示稍后重试(普通 HTTP 连接的第一个请求得到 503 egress_connections_full,可重试 (retryable);TLS 握手以告警结束;其他连接会被重置),其他账户的连接不受影响。单个沙箱同时最多有 2,048 个这样的连接,两个方向 15 分钟都没有数据的连接会被关闭。

  • 新连接的接纳速度,账户的沙箱合计最多每秒 2,000 个,瞬时最多 4,000 个。超出的连接会排队,按这个速度依次接纳:不会因此拒绝任何连接。
  • 套餐变更时,付费版的份额在几秒内在每台机器上生效;免费版的份额与账单条款一样,从下个月起生效。份额变小后超出的已打开连接不会被切断:它们会自行结束。

套餐的限制如何运作

  • 它们是配额,不是预留。即使在限制之内,机器满了时调用仍可能被拒绝 (503 no_capacity)。
  • 达到限制只会拒绝新东西。运行中的东西继续运行。会超出运行数量或创建数量限制的调用返回 403 plan_cap_reached,param 指明是哪项限制,错误信息说明限制是多少、已用了多少,以及如何获得更多:换到付费版,或请我们为你的账户提高。速率限制(每分钟创建数、每小时创建数)可重试 (retryable),带 Retry-After。
  • 唤醒也计算在内,无论怎样触发。唤醒休眠沙箱的调用(命令、文件、重启、快照、恢复)受运行数量限制的约束;通过 HTTP/1.1、HTTP/2 或 HTTP/3 发到沙箱链接或键控实例地址、会唤醒它们的请求也一样:超过限制时,它的机器以 403 plan_cap_reached 拒绝请求,什么都不会被唤醒。连接休眠沙箱自己的 IPv6 地址,或它在项目网络上的地址,也一样:超过限制时,连接会被拒绝(重置)。休眠沙箱中到期的定时器(进程的定时器、wake_daily_at 指定的时刻、数据库的 pg_cron 任务)也只在限制之内才会唤醒它:超过时,唤醒会等待,每隔几秒重试一次,直到账户有余量。应用的休眠实例只在账户有余量时才会为请求而唤醒;没有余量时,请求会送到它运行中的实例。每台有该账户休眠实例的机器,每隔几秒就会得知自己分到的那部分账户余量,各部分加起来就是总余量,所以在多台机器上同时唤醒的沙箱合计永远不会超出限制。应用的实例在应用自己的那份余量内唤醒:账户剩给它们的余量每隔几秒在应用的各个区域之间重新分配,依据是每个区域最近的用量,所以它在所有区域的实例合计也不会超出限制;需要超出份额的区域会在几秒内得到其他区域没有用到的部分。在账户还有余量留在另一台机器上时(通常在另一个区域),某台机器上的唤醒可能会被拒绝几秒钟;错误信息会说明这一点,各部分会在几秒内重新分配。发往一个休眠沙箱的一阵突发请求只会唤醒它一次,其中没有任何请求会因此被拒绝。
  • 从不会因此被拒绝的:让沙箱休眠和删除。
  • 换回免费版会保留你已有的一切:超出免费版规格的沙箱连同数据一起休眠,超出其数量的云盘和机密都保留。只有下一个新建的会被拒绝。
  • 项目保有的:超出套餐数量的云盘会以 403 drive_limit_reached 被拒绝,存储卷以 403 volume_limit_reached,机密以 403 secret_limit_reached。账户保有的(所有项目合计):超出套餐数量的应用以 403 app_limit_reached 被拒绝;环境变量和机密超出套餐允许数量的应用以 403 env_limit_reached,大于套餐最大规格的实例以 403 plan_size_exceeded。
  • 可应要求提高的:账户能同时拥有多少、创建东西的速度、付费版上的云盘数量(软限制),以及企业账户最大 16 TiB 的云盘。账户用 POST /v1/limits/requests 申请,答复会通过事件和邮件告知:参见提高限制。

GET /v1/account (caps) 显示账户的每项限制及当前用量;GET /v1/billing 显示套餐的限制。

达到限制时

每种因达到限制而被拒绝的情况,在错误页面上都有一节,它的 docs_url 就指向那里:说明它拒绝什么,以及怎样解除。标为可申请的,我们可以为单个账户提高:提高限制。

达到限制的对象 拒绝时返回 解除方式
账户同时运行的、保持休眠的,以及每分钟或每小时创建的数量;应用在一个区域中的实例 403 plan_cap_reached 休眠或删除;付费版;可申请
项目的云盘和存储卷 403 drive_limit_reached, volume_limit_reached 删除;付费版;付费版上的数量,以及企业账户的单个大小,可申请
最大的沙箱 403 plan_size_exceeded 更小的规格;付费版
项目或沙箱的支出上限 403 spend_limit_reached 提高你的上限
免费版的每日配额:CPU 时间、内存、请求、出站流量或日志 429 quota_used_up 到 00:00 UTC;付费版
免费版账户同时保存的量:存储卷数据或 NVMe 缓存 403 storage_quota_reached 删除;付费版
付费版每期的包含额度用完,且没有余额支付更多 403 balance_used_up;对访客返回 plan_limit_reached 充值;下一个周期
项目的机密 403 secret_limit_reached 删除;付费版
账户的应用;应用的变量和机密;应用用于签名键的机密 403 app_limit_reached, env_limit_reached, key_secret_limit_reached 删除;付费版
项目的域名和共享变量;账户的日志导出目标 403 domain_limit_reached, variable_limit_reached, destination_limit_reached 删除;付费版(仅限日志目的地)
账户在一台机器磁盘上的份额 403 account_share_reached 删除;稍后再试,换一台机器
应用在一个边缘节点上的每秒请求数 429 app_rate_limited 一秒后再试;付费版
同时跟随日志的读取方 429 too_many_followers 结束其中一个
账户在一台机器上的出站连接 503 egress_connections_full 关闭连接
沙箱的云盘;账户的项目;用户的免费账户;沙箱逐个吊销的令牌 409 too_many_drives, too_many_projects, too_many_free_accounts, too_many_revoked_tokens 减少数量
沙箱的存储卷;项目的 SSH 密钥 409 too_many_volumes, too_many_ssh_keys 减少数量
从 SSH 网关到单个沙箱的同时连接数 503 too_many_forwards 结束其中一个
只有付费版提供的功能:数据库的分层存储、浏览器会话的代理 403 paid_plan_required, proxy_not_on_plan 付费版
项目的用量报告,一次一份 429 report_in_progress 等另一份返回后再请求
登录和注册的尝试次数 429 rate_limited Retry-After
边缘节点上来自同一地址的同时请求数;请求体 429 too_many_connections, 413 body_too_large 减少同时请求;每次调用少发一些
每月充值的总额 403 trust_limit_exceeded 信任等级提升;可申请

API 的限制

内容 限制
沙箱、快照、云盘和存储卷的名称 1 到 63 个小写字母、数字和连字符;不能以连字符开头或结尾
应用的名称 1 到 40 个小写字母、数字和连字符,以字母开头
标签 (metadata) 每个沙箱 64 个(应用 60 个);键最多 64 个字符,值最多 1,024 个
环境变量 名称形如 [A-Za-z_][A-Za-z0-9_]*;合计 256 KiB
请求 请求头最多 64 KiB。JSON 请求体:沙箱的调用最多 1 MiB,携带命令输入时(run、exec、…/stdin)最多 64 MiB,平台自身的调用最多 1 GiB(超出时返回 413 body_too_large,错误信息会说明上限)
经过代理发往应用或链接的请求 请求体最多 100 MB,响应最多停顿 125 秒;用应用的 direct_url 可以更多(地址)
读写文件 一次调用不限长度:字节边来边传,上限是沙箱的磁盘(用沙箱令牌写入时:每次调用最多 1 GiB)
命令的输出 每条命令保留最后 16 MiB
分叉 每次调用 1 到 64 个
列表 limit 为 1 到 1,000,默认 100
Idempotency-Key 1 到 255 个字符;记住 24 小时
单个沙箱的令牌 默认一小时;最多 30 天;逐个吊销、尚未过期的令牌同时最多 1,000 个(超过时返回 409 too_many_revoked_tokens:见单个令牌)
网络规则 allow 和 deny 各最多 1,000 条;http 和 inject 各最多 100 个主机
经过出站代理的连接 单个沙箱同时 2,048 个,在账户于该机器的份额之内(见上文)
单个应用实例同时接受的请求数 scale.concurrency,1 到 1,000,或不限
同时跟随账户应用日志的读取方 按套餐:见上文的日志(超过时返回 429 too_many_followers)
镜像 最大 8 GiB,按镜像仓库中各层的大小和解包后的大小计:更大的镜像会让版本或沙箱以 image_unpack_failed 失败,错误会给出两种大小
共享变量 每个项目 1,000 个,值最大 32 KiB
自定义域名 每个项目 100 个
对象 单次 PutObject 最大 5 GiB;分段上传最多 10,000 段,每段 5 MiB 到 5 GiB
导航

输入以搜索……

↑↓ 切换↵ 选择Esc 关闭