跳转到内容
搜索文档

限制

最后更新 查看 MarkdownAgent 设置

由于 Sandbox SDK 构建在 Containers 平台之上,它共享相同的底层平台特性。请参阅这些页面,了解 sandbox 部署的定价与限制如何运作。

Sandbox 还继承了当前的 Containers 生命周期、放置和路由行为。有关详细信息,请参阅 Container 的生命周期扩展与路由

Container 限制

请参阅 Containers 限制 以获取有关以下内容的完整详细信息:

  • 并发 container 实例的内存、vCPU 和磁盘限制
  • 实例类型及其资源分配
  • 镜像大小和存储限制

Workers 和 Durable Objects 限制

当在 Workers 或 Durable Objects 中使用 Sandbox SDK 时,您需要受 Workers 子请求限制 约束。默认情况下,SDK 使用 HTTP 传输,其中每个操作(exec()readFile()writeFile() 等)均算作一次子请求。

子请求限制

  • Workers 免费版 (Free):每次请求 50 个子请求
  • Workers 付费版 (Paid):每次请求 1,000 个子请求

通过 WebSocket 传输规避子请求限制

启用 WebSocket 传输以在单个持久连接上复用所有 SDK 调用:

{
	"vars": {
		"SANDBOX_TRANSPORT": "websocket"
	},
}
[vars]
SANDBOX_TRANSPORT = "websocket"

启用 WebSocket 传输后:

  • WebSocket 升级算作一次子请求
  • 所有后续的 SDK 操作均使用现有连接(无额外的子请求)
  • 非常适合每次请求需要进行多次 SDK 操作的工作流

有关完整指南,请参阅 传输模式

最佳实践

在这些限制下工作的最佳实践:

  • 选择合适尺寸的实例 - 根据您的工作负载需求选择适当的 实例类型
  • 清理未使用的 sandbox - 当不再需要 sandbox 会话时将其终止,以释放资源
  • 优化镜像 - 保持您的 自定义 Dockerfile 精简以减小镜像大小
  • 对高频操作使用 WebSocket 传输 - 当每次请求进行多次 SDK 调用时,启用 SANDBOX_TRANSPORT=websocket 以避免触发子请求限制

这篇文档对您有帮助吗?