减少基于使用量的费用,首先要了解您的消耗来自何处。使用计费使用情况仪表板来识别哪些产品正在推动成本,然后应用以下策略。
| 策略 (Strategy) | 影响 (Impact) |
|---|---|
| 设置预算警报以尽早发现意外激增 | 防止所有产品出现意外发票 |
| 每周检查计费使用情况仪表板以识别成本趋势 | 在发票送达之前捕获失控的成本 |
| 了解跨请求生命周期的费用如何产生 | 识别请求的哪个阶段产生的成本最多 |
缓存的响应是通过 Cloudflare 最便宜的路径。每次缓存命中都可以避免源站获取成本、Argo 路由费用和 Workers 执行。
| 策略 (Strategy) | 减少了什么 (What it reduces) |
|---|---|
通过更长的 TTL 和适当的 Cache-Control 标头来提高缓存命中率 |
Argo 数据传输、Workers 调用、源站负载 |
| 对不常访问的长尾内容使用 Cache Reserve | 源站获取 — 即使在通常会被驱逐的情况下,也能保持内容缓存 |
| 使用分层缓存 (tiered caching) 减少源站拉取 | 源站带宽和 Cloudflare 数据中心之间的 Argo 传输 |
| 配置缓存规则 (cache rules) 默认缓存更多静态内容 | 整体缓存命中率 |
| 策略 (Strategy) | 减少了什么 (What it reduces) |
|---|---|
| 使用 Workers Logs 保留日志而不是使用 Logpush | 启用 Logpush 的 Workers 请求和 Logpush 数据传输 |
| 将 WebSocket Hibernation API 用于具有空闲 WebSocket 连接的 Durable Objects | 持续时间 (GB-s) 费用 — 在 Durable Object 休眠时暂停计费 |
| 策略 (Strategy) | 减少了什么 (What it reduces) |
|---|---|
| 使用 R2 生命周期规则 (lifecycle rules) 将冷数据转换为不频繁访问 (Infrequent Access) 存储类 | 存档数据的存储成本 |
| 尽可能批量执行 R2 操作而不是按对象读取 | B 类操作计数 |
| 使用预签名 URL (presigned URLs) 直接客户端访问,而不是通过 Workers 代理 | Workers 调用和 CPU 时间 |
| 在 R2 对象上启用 Cache-Control 标头 利用 Cloudflare 的 CDN 缓存 | B 类读取 — 缓存的对象不会命中 R2 |
| 策略 (Strategy) | 减少了什么 (What it reduces) |
|---|---|
| 在 Stream 嵌入页面上设置适当的缓存标头 | 重复的 Stream 交付分钟数 |
| 使用带有宽度/高度参数的 Image Resizing URL format(图像调整大小 URL 格式),以提供大小合适的变体 | 转换计数 — 会对调整大小的变体进行缓存 |
| 策略 (Strategy) | 减少了什么 (What it reduces) |
|---|---|
| 将运行状况检查间隔设置为满足可用性要求的最长可接受值 | 到负载平衡主机名的 DNS 查询 |
| 在区域冗余不重要的地方使用更少的运行状况检查区域 | 运行状况检查频率乘数 |
可见性是成本优化的基础。Cloudflare 提供了两个互补的工具:
- 计费使用情况仪表板 — 通过图表和可排序的表格显示每个产品的每日基于使用量的成本。适用于即用即付 (Pay-as-you-go) 账户。
- 预算警报 — 当您的总支出超过您定义的美元阈值时发送电子邮件通知。
对于每个产品的使用通知(字节、请求、分钟),请在 Cloudflare 仪表板中配置基于使用量的计费通知。