跳转到内容
搜索文档

定价

最后更新 查看 MarkdownAgent 设置

默认情况下,用户可以使用 Workers Free 套餐。Workers Free 套餐包括对 Workers、Pages Functions、Workers KV 和 Hyperdrive 的有限使用量。有关 Free 套餐限制 的更多信息,请继续阅读。

Workers Paid 套餐包括 Workers、Pages Functions、Workers KV、Hyperdrive 和 Durable Objects 的使用量,每个账户最低收费 $5 USD。该套餐包含更高的初始使用配额,超出基础套餐的使用量有明确的计费标准。数据传输(egress)或吞吐量(bandwidth)不额外收费。

所有包含的使用量均按月计算。

Workers

Workers Paid 套餐用户可以访问 Standard 使用模型。Workers Enterprise 账户根据合同中指定的使用模型计费。要切换到 Standard 使用模型,请联系您的 Account Manager。

请求1, 2, 3, 4 持续时间 CPU 时间
Free 100,000 per day No charge for duration 10 milliseconds of CPU time per invocation
Standard 10 million included per month
+$0.30 per additional million
No charge or limit for duration 30 million CPU milliseconds included per month
+$0.02 per additional million CPU milliseconds

Max of 5 minutes of CPU time per invocation (default: 30 seconds)
Max of 15 minutes of CPU time per Cron Trigger or Queue Consumer invocation

1 传入 Worker 的请求。Cloudflare 不对 Worker 发出的子请求 计费。

2 对 Worker 建立的 WebSocket 连接按一次请求计费,代表建立 WebSocket 的初始 Upgrade 连接。通过 Worker 路由的 WebSocket 消息不计为请求。

3 对 static assets 的请求免费且无限制。

4 启用 Workers Caching 时,从 Worker 缓存提供的请求与调用 Worker 的请求按相同的每请求费率计费。这包括对 static assetsworker-to-worker invocations 的请求。CPU 时间仅在 Worker 运行时计费(缓存未命中或绕过)。

定价示例

示例 1

一个 Worker 每月处理 1500 万次请求,每次请求平均使用 7 毫秒 (ms) CPU 时间,预估费用如下:

每月费用 公式
Subscription $5.00
Requests $1.50 (15,000,000 requests - 10,000,000 included requests) / 1,000,000 * $0.30
CPU time $1.50 ((7 ms of CPU time per request * 15,000,000 requests) - 30,000,000 included CPU ms) / 1,000,000 * $0.02
Total $8.00

示例 2

一个项目每月处理 1500 万次请求,其中 80%(1200 万)请求提供 static assets,其余调用动态 Worker 代码。Worker 每次请求平均使用 7 毫秒 (ms)。

对 static assets 的请求免费且无限制。该项目的预估费用如下:

每月费用 公式
Subscription $5.00
Requests to static assets $0 -
Requests to Worker $0 -
CPU time $0 -
Total $5.00

示例 3

一个在 Cron Trigger 上每小时运行一次的 Worker,从多个 API 收集数据、处理数据并创建报告。

  • 720 requests/month
  • 3 minutes (180,000ms) of CPU time per request

在此场景中,预估的每月费用计算如下:

每月费用 公式
Subscription $5.00
Requests $0.00 -
CPU time $1.99 ((180,000 ms of CPU time per request * 720 requests) - 30,000,000 included CPU ms) / 1,000,000 * $0.02
Total $6.99

示例 4

一个高流量 Worker 每月处理 1 亿次请求,每次请求平均使用 7 毫秒 (ms) CPU 时间,预估费用如下:

每月费用 公式
Subscription $5.00
Requests $27.00 (100,000,000 requests - 10,000,000 included requests) / 1,000,000 * $0.30
CPU time $13.40 ((7 ms of CPU time per request * 100,000,000 requests) - 30,000,000 included CPU ms) / 1,000,000 * $0.02
Total $45.40

示例 5:启用缓存的 Worker

与示例 4 相同的 Worker,但启用了 Workers Caching,缓存命中率为 80%。8000 万次请求从缓存提供,2000 万次调用 Worker。缓存命中计为请求但不消耗 CPU 时间。

每月费用 公式
Subscription $5.00
Requests $27.00 (100,000,000 requests - 10,000,000 included requests) / 1,000,000 * $0.30
CPU time $2.20 ((7 ms of CPU time per request * 20,000,000 requests) - 30,000,000 included CPU ms) / 1,000,000 * $0.02
Total $34.20

有关缓存内容和如何启用缓存的详细信息,请参阅 Cache

如何切换使用模型

Workers Paid 套餐用户可以访问 Standard 使用模型。但是,部分用户可能仍配置了旧版使用模型。旧版使用模型包括 Workers Unbound 和 Workers Bundled。建议用户迁移到 Workers Standard 使用模型。更改使用模型仅影响可计费使用量,没有技术影响。

要更改默认的账户范围使用模型:

  1. 在 Cloudflare 仪表板中,前往 Workers & Pages 页面。

    Go to Workers & Pages ↗
  2. 在右侧菜单中找到 Usage Model(用量模型) > Change(更改)

可以在单个 Worker 级别更改使用模型:

  1. 在 Cloudflare 仪表板中,前往 Workers & Pages 页面。

    Go to Workers & Pages ↗
  2. Overview(概览) 中,选择您的 Worker > Settings(设置) > Usage Model(用量模型)

更改默认使用模型时,现有 Worker 不会受到影响。您可以更改单个 Worker 的使用模型,而不影响账户范围的默认使用模型。

Workers Logs

Workers Logs 包含在 Free 和 Paid Workers 计划中。

写入的日志事件 保留
Workers Free 每天 20 万 3 天
Workers Paid 每月包含 2000 万
+每额外百万 $0.60
7 天

Workers Trace Events Logpush

Workers Logpush 仅在 Workers Paid 套餐上可用。

Paid plan
请求 1 10 million / month, +$0.05/million

1 Workers Logpush 对应用过滤或采样后到达最终目标的请求日志计费。

Workers KV

Workers KV 包含在 Free 和 Paid Workers 计划中。

Free 计划1 Paid 计划
读取键 10 万 / 天 1000 万/月,+ $0.50/百万
写入键 1000 / 天 100 万/月,+ $5.00/百万
删除键 1000 / 天 100 万/月,+ $5.00/百万
List 请求 1000 / 天 100 万/月,+ $5.00/百万
存储数据 1 GB 1 GB,+ $0.50/ GB-月

1 Workers Free 计划包含有限的 Workers KV 使用量。所有限制 在 UTC 00:00 每日重置。如果你超过任何一项限制,该类型的进一步 操作将失败并返回错误。

Hyperdrive

Hyperdrive 包含在 Free 和 Paid Workers 计划中。

Free 计划1 Paid 计划
数据库查询2 10 万 / 天 无限制

脚注

1:Workers Free 计划包含有限的 Hyperdrive 使用量。所有限制在 UTC 00:00 每日重置。如果你超过任何一项限制,该类型的进一步操作将失败并返回错误。

2:数据库查询是指通过 Hyperdrive 执行的任何数据库语句,无论是查询(SELECT)、修改(INSERTUPDATEDELETE)还是架构更改(CREATEALTERDROP)。

Footnotes

  1. Workers Free 计划包含有限的 Hyperdrive 使用量。所有限制在 UTC 00:00 每日重置。如果你超过任何一项限制,该类型的进一步操作将失败并返回错误。

  2. 数据库查询是指通过 Hyperdrive 执行的任何数据库语句,无论是查询(SELECT)、修改(INSERTUPDATEDELETE)还是架构更改(CREATEALTERDROP)。

Queues

Cloudflare Queues 按给定月份内对每个队列执行的操作总数收费。

  • 每写入、读取或删除 64 KB 数据计为一次操作。
  • 大于 64 KB 的消息按多条消息计费:例如,65 KB 消息和 127 KB 消息在写入、读取或删除时都会产生两次操作费用。
  • KB 定义为 1000 字节,每条消息包含约 100 字节的内部元数据。
  • 操作按消息计算,而非按批次。一批 10 条消息(默认批次大小)如果处理,将产生 10 次写入、10 次读取和 10 次删除操作:批次中每条消息各一次。
  • 没有数据传输(出口)或吞吐量(带宽)费用。
Workers Free Workers Paid
标准操作 每天包含 1 万次操作 每月包含 100 万次操作 + 每百万次操作 $0.40
消息保留 24 小时(不可配置) 默认 4 天,可配置最长 14 天

在大多数情况下,传递一条消息需要 3 次操作:1 次写入、1 次读取和 1 次删除。因此,你可以使用以下公式估算每月账单:

((Number of Messages * 3) - 1,000,000) / 1,000,000  * $0.40

此外:

  • 每次重试都会产生一次读取操作。重试的一批 10 条消息每次重试将产生 10 次操作。
  • 达到最大重试次数并写入死信队列(Dead Letter Queue)的消息,每 64 KB 块产生一次写入操作。重试 3 次(默认)、第 4 次传递失败并写入死信队列的消息将产生五 (5) 次读取操作。
  • 写入队列但在被读取之前达到最大持久性持续时间(或"过期")的消息,每 64 KB 块仅产生一次写入和删除操作。

Workflows

单位 Workers Free Workers Paid
请求(百万) 每天 100,000(与 Workers 请求共享 每月包含 1000 万 + 每额外百万 $0.30
CPU 时间(毫秒) 每次调用 10 毫秒 CPU 时间 每月包含 3000 万 CPU 毫秒 + 每额外百万 CPU 毫秒 $0.02
存储(GB-月) 1 GB 每月包含 1 GB + $0.20/GB-月
Steps 每天 3,000 每月包含 500,000 + 每额外 100,000 $0.80/月

Cloudflare 在 Workflows 计费更新日志 中公布的开始日期之前,不会对 step 和存储用量计费。

D1

D1 在 Workers Free 和 Workers Paid 套餐上均可用。

Workers Free Workers Paid
读取行数 500 万 / 天 每月前 250 亿行包含 + 每百万行 $0.001
写入行数 10 万 / 天 每月前 5000 万行包含 + 每百万行 $1.00
存储(每 GB) 5 GB(总计) 前 5 GB 包含 + 每 GB-月 $0.75

定义

  1. 读取行数衡量查询读取(扫描)的行数,与每行大小无关。例如,如果你有一个包含 5000 行的表并运行 SELECT * FROM table 作为全表扫描,这将计为 5000 行读取。在未索引列上过滤的查询可能向 Worker 返回较少的行,但仍需要读取(扫描)更多行以确定返回哪个子集。
  2. 写入行数衡量写入 D1 数据库的行数。写入操作包括 INSERTUPDATEDELETE。这些操作中的每一个都计入写入行数。向 usersINSERT 10 行的查询将计为 10 行写入。
  3. DDL 操作(例如 CREATEALTERDROP)用于定义或修改数据库结构。它们可能导致读取行和写入行的混合。请确保通过可用工具(meta objectGraphQL Analytics APICloudflare 仪表板)准确跟踪使用量。
  4. 行大小或行中的列数不影响行的计数方式。1 KB 的行和 100 KB 的行都计为一行。
  5. 在表上定义索引可减少在该索引字段上过滤时查询读取的行数。例如,如果 users 表在时间戳列 created_at 上有索引,查询 SELECT * FROM users WHERE created_at > ?1 只需读取表的子集。
  6. 当写入包含索引列时,索引会添加额外的写入行,因为写入了两行:一行写入表本身,一行写入索引。索引的性能优势和读取行数的减少在几乎所有情况下都会抵消这一额外写入。
  7. 存储基于每月存储的 GB 数,基于账户中所有数据库的总和。表和索引都计入消耗的存储。
  8. 免费限制在 UTC 00:00 每日重置。每月包含限制基于你的每月订阅续订日期重置,该日期由你首次订阅的日期决定。
  9. 从 D1 访问的数据没有数据传输(出口)或吞吐量(带宽)费用。
  10. 读取复制不会对读取副本额外收费。你根据查询的 rows_readrows_written 产生相同的使用计费。

Durable Objects

计算计费

Durable Objects 按 Durable Object 主动运行或空闲在内存中但无法休眠时的计算 duration(挂钟时间)计费。空闲且符合休眠条件的 Durable Objects 不计 duration 费用,即使在运行时休眠它们之前也是如此。对 Durable Object 的请求会保持其活动状态,如果处于非活动状态则创建该对象。

Free 计划 Paid 计划
请求 100,000 / 天 100 万 / 月,+ $0.15/百万
包括 HTTP 请求、RPC 会话1、WebSocket 消息2 和 alarm 调用
Duration3 13,000 GB-s / 天 400,000 GB-s / 月,+ $12.50/百万 GB-s4,5

脚注

1 每个 RPC 会话 作为对 Durable Object 的一个请求计费。Durable Objects stub 上的每个 RPC 方法调用 都是其自己的 RPC 会话,因此算作一个计费请求。

RPC 方法调用可以返回扩展 RpcTarget 的对象(stub)并在这些 stub 上调用。对返回的 stub 的后续调用属于同一 RPC 会话的一部分,不作为单独请求计费。例如:

let durableObjectStub = OBJECT_NAMESPACE.get(id); // retrieve Durable Object stub
using foo = await durableObjectStub.bar(); // billed as a request
await foo.baz(); // treated as part of the same RPC session created by calling bar(), not billed as a request
await durableObjectStub.cat(); // billed as a request

2 创建 WebSocket 连接需要一个请求。传出 WebSocket 消息不收费,传入的 WebSocket 协议 ping 也不收费。对于仅计算请求计费,对传入 WebSocket 消息应用 20:1 比率,以考虑实时通信中较小的消息。例如,100 条 WebSocket 传入消息将按 5 个请求计费。20:1 比率不影响 Durable Object 指标和分析,这些反映实际使用情况。

3state.setWebSocketAutoResponse() 处理的应用级自动响应消息不会产生额外的挂钟时间,因此不会计费。

4 Duration 在 Object 处于活动状态且不符合休眠条件期间按挂钟时间计费,但在 Object 上同时活动的所有请求之间共享。在 Object 中对 WebSocket 调用 accept() 将在 WebSocket 连接的整个期间产生 duration 费用。建议使用 WebSocket Hibernation API,以避免在所有事件处理器完成运行后产生 duration 费用。完整说明请参阅 Durable Object 何时产生 duration 费用?

5 Duration 计费按 Durable Object 分配的 128 MB 内存计费,无论实际使用量如何。如果你的账户创建了单个 Durable Object 类的许多实例,Durable Objects 可能在同一物理机器上的同一 isolate 中运行并共享 128 MB 内存。这些 Durable Objects 仍按分配完整 128 MB 内存计费。

存储计费

Durable Objects Storage API 仅可从 Durable Objects 内部访问。定价取决于 Durable Objects 的存储后端。

  • SQLite 支持的 Durable Objects(推荐)SQLite 存储后端 推荐用于所有新的 Durable Object 类。Workers Free 计划只能创建和访问 SQLite 支持的 Durable Objects。
  • 键值支持的 Durable Objects键值存储后端 仅在 Workers Paid 计划上可用。

SQLite 存储后端

Workers Free 计划 Workers Paid 计划
行读取 1,2 500 万 / 天 前 250 亿 / 月包含 + $0.001 / 百万行
行写入 1,2,3,4 100,000 / 天 前 5000 万 / 月包含 + $1.00 / 百万行
SQL 存储数据 5 5 GB(总计) 5 GB-月,+ $0.20/ GB-月

脚注

1 行读取和行写入包含的限制和费率与 D1 定价(Cloudflare 的无服务器 SQL 数据库)一致。

2get()put()delete()list() 这样的键值方法在隐藏的 SQLite 表中存储和查询数据,并按行读取和行写入计费。

3 每次 setAlarm() 按单行写入计费。

4 删除计为行写入。

5 Durable Objects 将对存储的数据计费,直到数据被删除。数据删除后,系统将自动清理该对象。

键值存储后端

Workers Paid 计划
读取请求单位1,2 100 万,+ $0.20/百万
写入请求单位3 100 万,+ $1.00/百万
删除请求4 100 万,+ $1.00/百万
存储数据5 1 GB,+ $0.20/ GB-月

脚注

1 请求单位定义为读取或写入 4 KB 数据。写入或读取超过 4 KB 的请求将消耗多个单位,例如,9 KB 写入将消耗 3 个写入请求单位。

2 list 操作按读取请求单位计费,基于检查的数据量。例如,返回合计 80 KB 键和值的 list 请求将按 20 个读取请求单位计费。不返回任何内容的 list 请求按 1 个读取请求单位计费。

3 每次 setAlarm 按单个写入请求单位计费。

4 删除请求不计量。例如,删除 100 KB 值将收取一个删除请求费用。

5 Durable Objects 将对存储的数据计费,直到数据被删除。数据删除后,系统将自动清理该对象。

命中 Durable Objects 内存缓存 或使用 get()/put()/delete() 方法的多键版本 的请求,计费方式与对每个键的正常单独请求相同。

Vectorize

Vectorize 目前仅在 Workers paid 套餐上可用。

Workers Free Workers Paid
查询向量维度总量 每月 3000 万查询向量维度 每月包含前 5000 万查询向量维度 + 每百万 $0.01
存储向量维度总量 500 万存储向量维度 包含前 1000 万存储向量维度 + 每 1 亿 $0.05

计算向量维度

要估算潜在用量,请计算查询向量维度和存储向量维度,再乘以单价。公式为 ((queried vectors + stored vectors) * dimensions * ($0.01 / 1,000,000)) + (stored vectors * dimensions * ($0.05 / 100,000,000))

  • 例如,插入 10,000 个各 768 维的向量,并每天查询 1,000 次(每月 30,000 次),计算为 ((30,000 + 10,000) * 768) = 30,720,000 查询维度,以及 (10,000 * 768) = 7,680,000 存储维度(在每月包含额度内)
  • 单独计算,且不含每月包含额度时,为 (30,000 + 10,000) * 768 * ($0.01 / 1,000,000) + (10,000 * 768 * ($0.05 / 100,000,000)),合计约每月 $0.31。

R2

R2 根据存储的数据总量以及对该数据的两大类操作计费:

  1. Class A operations,费用较高,通常用于变更状态。
  2. Class B operations,通常用于读取现有状态。

egress bandwidth 不收费。

Free Standard storage Infrequent Access storage
Storage 10 GB-month / month $0.015 / GB-month $0.01 / GB-month
Class A Operations 1 million requests / month $4.50 / million requests $9.00 / million requests
Class B Operations 10 million requests / month $0.36 / million requests $0.90 / million requests
Data Retrieval (processing) None None $0.01 / GB
Egress (data transfer to Internet) Free Free Free

Containers

Containers 按每 10ms 的活跃运行时间计费,费率如下,并包含在 $5 USD 每月 Workers Paid 套餐 的每月使用量中:

Memory CPU Disk
Free N/A N/A N/A
Workers Paid 25 GiB-hours/month included
+$0.0000025 per additional GiB-second
375 vCPU-minutes/month
+ $0.000020 per additional vCPU-second
200 GB-hours/month
+$0.00000007 per additional GB-second

您只需为实际使用量付费 — 当请求发送到 container 或手动启动时开始计费。container 实例进入 sleep 状态后停止计费,这可能在超时后自动发生。

Network Egress

Containers 的 egress 定价如下:

Region Price per GB Included Allotment per month
North America & Europe $0.025 1 TB
Oceania, Korea, Taiwan $0.05 500 GB
Everywhere Else $0.04 500 GB

服务绑定

通过 Service Binding 从 Worker 向另一个 worker 发出的请求不产生额外的请求费用。这允许您将功能拆分到多个 Worker,而不会产生额外成本。

例如,如果 Worker A 通过 Service Binding 向 Worker B 发出子请求,或通过 Service Binding 调用 Worker B 提供的 RPC 方法,计费方式为:

  • 一次请求(Worker A 的初始调用)
  • Worker A 和 Worker B 使用的 CPU 时间总量

细则

Workers Paid 套餐与您可能拥有的任何其他 Cloudflare 套餐(Free、Professional、Business)是分开的。如果您是 Enterprise 客户,请联系您的账户团队以确认定价详情。

只有命中 Worker 的请求才会计入您的限制和账单。由于 Cloudflare Workers 在 Cloudflare 缓存之前运行,缓存请求仍会产生费用。请参阅 Limits 以查看定义和达到限制后的行为。

这篇文档对您有帮助吗?