GraphQL 查询成本估算器
估算 GraphQL 操作到达服务器前的执行成本。找出深层嵌套及多层列表选择,并记录每项列表大小假设。
操作最多 200,000 个字符,架构最多 1,000,000 个字符,变量最多 200,000 个字符。最多计数 10,000 个字段和 64 层嵌套;列表大小范围为 1 到 10,000,字段成本范围为 0 到 1,000。估算在浏览器后台工作线程中运行。可下载 JSON 报告和 CSV 明细。 一个或多个操作;若有多个,需设置操作名称。片段会展开。 最多 200,000 个字符。 运行前请检查设置。
处理结果
GraphQL 查询成本估算器
- 在主输入框中粘贴 GraphQL 操作。
- 以 SDL 或 introspection JSON 格式粘贴架构。
- 如果服务器使用其他值,请调整默认列表大小、切片参数和字段成本。
- 运行估算并查看热点,然后下载 JSON 或 CSV 明细。
使用须知
操作最多 200,000 个字符,架构最多 1,000,000 个字符,变量最多 200,000 个字符。最多计数 10,000 个字段和 64 层嵌套;列表大小范围为 1 到 10,000,字段成本范围为 0 到 1,000。估算在浏览器后台工作线程中运行。可下载 JSON 报告和 CSV 明细。
成本模型
每个所选字段根据其返回类型计入对象或标量成本,再乘以上层列表大小。总成本为展开后的字段选择成本之和;因此,重复选择可能会高估服务器合并执行后的成本。__typename 不计入成本。此规划模型不会实际执行 GraphQL 请求,也不会处理条件指令或嵌套列表内容;它不是服务器强制执行的限制。
列表大小
列表字段的大小取最大的切片参数值,例如 first、last 或 limit。省略值时会使用操作变量默认值和架构参数默认值。没有切片值时,若启用 @listSize(assumedSize:),则使用该值;否则使用模型默认列表大小。@cost(weight:) 会覆盖字段成本。所有推导出的大小必须是 1 到 10,000 的整数,权重必须在 0 到 1,000 之间。无效操作、变量、边界和循环片段会使估算停止,并返回类型化错误。
报告说明
报告列出假设、成本最高的十个子树,以及包含深度、乘数、列表大小、自身成本和子树成本的完整树。CSV 每条字段路径占一行。片段展开会出现在其使用位置;循环片段属于查询验证错误,而不是有限成本假设。