Shopify报告使用广度优先引擎使GraphQL执行速度提升15倍

TL;DR · AI 摘要
Shopify通过Breadth First Engine将GraphQL执行速度提升15倍,但文章未提供技术细节或实现原理,信息密度极低。
核心要点
- Shopify报告GraphQL查询执行速度提升15倍,使用Breadth First Engine技术。
- 文章缺乏BFS引擎的具体实现机制、优化原理和性能测试数据。
- 信息密度不足,无法为工程师提供可复用的工程实践或技术选型参考。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Shopify GraphQL性能优化
Shopify报告:广度优先引擎使GraphQL执行速度提升15倍 - InfoQ
关于本网站Cookie的使用选择
我们使用Cookie来优化网站功能,为您提供最佳体验。
我接受 我不接受 设置
[BT](https://www.infoq.com/int/bt/ "bt")
InfoQ软件架构师通讯
每月为您呈现作为架构师或有志成为架构师所需了解的关键内容。
输入您的电子邮箱地址
选择您的国家 - [x] 我同意InfoQ.com按照隐私声明中所述处理我的数据。
关闭
QCon旧金山大会(11月16-20日):AI的下一步是什么?软件的未来趋势如何?向已实践的团队学习。立即注册
关闭
切换导航
促进专业软件开发领域的知识传播与创新
英文版
[为InfoQ撰稿](https://www.infoq.com/write-for-infoq/ "Write for InfoQ")
搜索
解锁完整的InfoQ体验
登录以解锁完整的InfoQ体验!关注您喜爱的作者和主题,参与内容互动,并下载独家资源。
或
尚未拥有InfoQ账户?
- 及时获取您关注的主题和同行动态 接收最新洞察与趋势的即时提醒。
- 快速访问持续学习的免费资源 包含迷你书、带文字稿的视频及培训材料。
- 保存文章随时阅读 将文章加入书签,以便随时查阅。
主题
[开发](https://www.infoq.com/development/ "Development")
- [Java](https://www.infoq.com/java/ "Java")
- [Kotlin](https://www.infoq.com/kotlin/ "Kotlin")
- [.NET](https://www.infoq.com/dotnet/ ".NET")
- [C#](https://www.infoq.com/c_sharp/ "C#")
- [Swift](https://www.infoq.com/swift/ "Swift")
- [Go](https://www.infoq.com/golang/ "Go")
- [Rust](https://www.infoq.com/rust/ "Rust")
- [JavaScript](https://www.infoq.com/javascript/ "JavaScript")
开发领域精选
- #### 从VR到平面屏幕:弥合输入与沉浸感差距
Dany Lepage探讨了将热门VR游戏移植到七个非VR平台的架构历程。他解释了其团队如何解决跨平台进度同步、多样化输入范式以及在Steam、iOS和PlayStation上保持发布速度的挑战。除技术层面外,他还分享了将沉浸式社交体验转化为2D屏幕时"产品适配"差距的坦诚经验。

查看所有开发内容关注主题
[架构与设计](https://www.infoq.com/architecture-design/ "Architecture & Design")
- [架构](https://www.infoq.com/architecture/ "Architecture")
- [企业架构](https://www.infoq.com/enterprise-architecture/ "Enterprise Architecture")
- [可扩展性/性能](https://www.infoq.com/performance-scalability/ "Scalability/Performance")
- [设计](https://www.infoq.com/design/ "Design")
- [案例研究](https://www.infoq.com/Case_Study/ "Case Studies")
- [微服务](https://www.infoq.com/microservices/ "Microservices")
- [服务网格](https://www.infoq.com/servicemesh/ "Service Mesh")
- [模式](https://www.infoq.com/DesignPattern/ "Patterns")
- [安全](https://www.infoq.com/Security/ "Security")
架构与设计领域精选
- #### 大规模主题系统:如何构建高度可定制的软件
Shopify高级工程师Guilherme Carreiro探讨了构建和扩展高度可定制平台的方法。他以Shopify的Liquid主题系统为案例,解释了如何在高流量下平衡极致的设计灵活性与低延迟性能。他分享了关于实现安全的领域特定语言、原生代码扩展以及弹性开发者工具的经验。

查看所有架构与设计内容关注主题
[AI基础设施](https://www.infoq.com/ai-ml-data-eng/ "AI Infrastructure")
- [大数据](https://www.infoq.com/bigdata/ "Big Data")
- [机器学习](https://www.infoq.com/machinelearning/ "Machine Learning")
- [NoSQL](https://www.infoq.com/nosql/ "NoSQL")
- [数据库](https://www.infoq.com/database/ "Database")
- [数据分析](https://www.infoq.com/data-analytics/ "Data Analytics")
- [流处理](https://www.infoq.com/streaming/ "Streaming")
AI、机器学习与数据工程精选
- #### 构建 AI 采用评估:从原则到实践
Mallika Rao 基于在 Twitter、Walmart 和 Netflix 的经验,探讨了生产级 AI 系统中评估债务的隐藏风险。她解释了为何传统指标无法适应现代架构,剖析了涵盖基础设施和用户体验的五层评估体系,并分享了一种诊断成熟度模型,帮助工程领导者消除静默的语义故障。

AI、机器学习与数据工程精选关注主题
[文化与方法](https://www.infoq.com/culture-methods/ "Culture & Methods")
- [敏捷](https://www.infoq.com/agile/ "Agile")
- [多样性](https://www.infoq.com/diversity/ "Diversity")
- [领导力](https://www.infoq.com/leadership/ "Leadership")
- [精益/Kanban](https://www.infoq.com/lean/ "Lean/Kanban")
- [个人成长](https://www.infoq.com/personal-growth/ "Personal Growth")
- [Scrum](https://www.infoq.com/scrum/ "Scrum")
- [社会ocracy](https://www.infoq.com/sociocracy/ "Sociocracy")
- [软件工艺](https://www.infoq.com/software_craftsmanship/ "Software Craftmanship")
- [团队协作](https://www.infoq.com/team-collaboration/ "Team Collaboration")
- [测试](https://www.infoq.com/testing/ "Testing")
- [UX](https://www.infoq.com/ux/ "UX")
文化与方法精选
Trisha Ballakur 以她的初创公司 Pointz 为案例,讲述了她从后端软件工程师成长为 CTO 和 CEO 的历程。她解释了如何通过自下而上的客户发现找到产品市场契合点,如何有效委派任务给全球外包人员以缩短开发时间,如何定制 Valhalla 等开源仓库,以及如何将工程测试用例模型应用于业务发展。

文化与方法精选关注主题
- [基础设施](https://www.infoq.com/infrastructure/ "Infrastructure")
- [持续交付](https://www.infoq.com/continuous_delivery/ "Continuous Delivery")
- [自动化](https://www.infoq.com/automation/ "Automation")
- [容器](https://www.infoq.com/containers/ "Containers")
- [云](https://www.infoq.com/cloud-computing/ "Cloud")
- [可观测性](https://www.infoq.com/observability/ "Observability")
DevOps 精选
- #### GPU 工作负载的实时与批处理
Joseph Stein 介绍了如何在私有云数据中心内构建企业级 AI 即服务(AI-as-a-Service)平台。他解释了如何通过多命名空间调度最大化未充分利用的 GPU 资源池,如何利用 Valkey 和 Lua 实现原子优先级队列和背压管理,如何通过中央代理网关缓解 OWASP Top 10 LLM 风险,以及如何使用自定义 S3 到 Kafka 代理扩展批处理管道。

DevOps 精选关注主题
[活动](https://events.infoq.com/ "Events")
实用链接
- [关于 InfoQ](https://www.infoq.com/about-infoq "About InfoQ")
- [InfoQ 编辑团队](https://www.infoq.com/infoq-editors "InfoQ Editors")
- [为 InfoQ 撰稿](https://www.infoq.com/write-for-infoq "Write for InfoQ")
- [关于 C4Media](https://c4media.com/ "About C4Media")
- [多样性](https://c4media.com/diversity "Diversity")
选择语言

[InfoQ首页](https://www.infoq.com/ "InfoQ Homepage")[新闻](https://www.infoq.com/news "News")Shopify报告:采用广度优先引擎实现GraphQL执行速度提升15倍
[架构与设计](https://www.infoq.com/architecture-design/ "Architecture & Design")
InfoQ在线架构师认证(6月10日):改变思维方式的同行对话
Shopify报告:采用广度优先引擎实现GraphQL执行速度提升15倍
2026年6月1日 2分钟阅读
作者:
- Leela Kumili
首席工程师
#### 为InfoQ撰稿
激发你的好奇心。助力全球55万+高级开发者每月保持技术领先。联系我们
登录收听本文
音频已就绪
0:00 0:00
标准 1.25x 1.5x
喜欢
Shopify推出了一款重新设计的GraphQL执行引擎,内部称为GraphQL Cardinal,该引擎以广度优先执行模型取代传统的深度优先遍历,针对大规模查询工作负载报告了显著的生产性能提升。新架构聚焦于GraphQL执行本身的低效问题,而非数据库或网络基础设施瓶颈——Shopify工程师认为这一领域在GraphQL生态中长期被忽视。
Shopify Engineering在X平台发文总结了结果:
针对大型GraphQL列表查询的生产环境测试结果:字段级执行速度提升15倍,垃圾回收开销降低6倍,P50端到端耗时缩短4秒以上。
/filters:no_upscale()/news/2026/06/shopify-graphql-cardinal-bfs/en/resources/1Screenshot%202026-05-23%20at%2011.12.16%E2%80%AFAM-1779561190654.png)
广度优先与深度优先遍历的端到端响应时间对比(来源:Shopify博客)
此次重构解决了传统GraphQL执行的核心特性问题。多数GraphQL引擎采用递归方式遍历查询树,以深度优先模式逐对象解析字段。虽然实现简单,但当查询涉及深度嵌套、高度关联的数据集(如电商系统中常见的商品目录、变体和库存结构)时,该方法可能导致重复解析器调用、内存分配碎片化及频繁垃圾回收。
GraphQL Cardinal通过逐层执行查询改变了这一遍历模式。引擎不再独立解析树中每个节点的字段,而是对同一深度的多组对象批量执行解析器。Shopify表示,这种方法提升了CPU缓存局部性,减少了冗余计算,并降低了单次请求的内存波动。
/filters:no_upscale()/news/2026/06/shopify-graphql-cardinal-bfs/en/resources/1shopifybfsvsdfs-1779561190654.jpeg)
深度优先与广度优先执行流程及字段追踪器(来源:Shopify博客)
重新设计还改变了内部的执行编排方式。在递归遍历过程中,GraphQL Cardinal 不再重复调用解析器,而是按查询层协调执行,使解析器能够在深入图结构之前批量处理多个实体。这使得批处理成为原生执行行为,而非单独的优化手段。该方法借鉴了 GraphQL 生态系统中已有的思路,包括 Airbnb 的批处理解析器 以减少 N+1 查询开销、WunderGraph 的广度批处理实验,以及 graphql-breadth-exec 等探索广度优先遍历替代递归执行的项目。
Farhan Thawar,Shopify 工程负责人,在 LinkedIn 帖子 中描述道:
GraphQL Cardinal 是 Shopify 对一个显而易见却长期被忽视的问题的回应:传统的 GraphQL 执行在大规模场景下算法开销巨大,却很少有人质疑这一点。
然而,Shopify 的实现引人注目之处在于,它将广度优先遍历直接集成到大规模生产基础设施中,同时保持与现有 GraphQL 模式和 API 的兼容性。据该公司介绍,迁移过程需要在执行编排、解析器行为、追踪基础设施和运行时调度系统等方面进行协调变更。
迁移过程中的关键挑战之一是在底层执行行为改变的同时,保持面向开发者的现有 GraphQL 语义。现有模式和解析器是基于递归深度优先假设设计的,这意味着 Shopify 需要在不进行大规模 API 重写的情况下调整解析器协调和追踪机制。该公司表示,在整个迁移过程中始终维持了与现有 GraphQL API 的兼容性,使团队无需更改应用层查询结构即可受益于执行优化。
关于作者

#### Leela Kumili
Leela 是星巴克的首席软件工程师,精通构建可扩展的云原生系统和分布式平台。她负责奖励平台的架构、交付和运营卓越性,主导系统现代化、提升可扩展性及增强可靠性的相关工作。除技术领导力外,Leela 还担任公司的 AI 倡导者,通过基于大语言模型(LLM)的工具识别提升开发者生产力和工作流的机会,并制定 AI 采用的最佳实践。她热衷于构建生产就绪系统、提升开发者体验,并指导工程师在技术和战略层面提升影响力。她的兴趣包括平台工程、分布式系统、开发者生产力,以及将技术解决方案与业务和产品目标相结合。
展开更多 收起
#### 本文内容属于性能主题
关注主题
##### 相关主题:
关注者:4111
关注主题
关注者:10248
关注主题
关注者:334
关注主题
关注者:101
关注主题
关注者:280
关注主题
关注者:20
关注主题
关注者:125
关注主题
关注者:10
关注主题
关注者:35
关注主题
关注者:279
关注主题
关注者:22087
关注主题
* #### 相关编辑内容
* #### 相关赞助商
- ##### 2026年降低Java成本而不影响交付速度
- ##### AI代理安全解析
- #### 相关赞助商
使用Promptfoo自信地测试、评估和红队演练您的LLM应用——捕获回归问题、基准测试模型,更快交付高质量AI功能;立即开始测试您的提示词。[了解更多](https://www.infoq.com/url/f/0ed8a8f2-ad41-400e-b24f-e10459b3993d/).
相关内容
2026年4月20日 
2026年5月13日
2026年5月22日
- ##### 如何通过黄金模块实现平台工程,加速流畅交付
2026年5月21日
2026年5月7日
2026年5月11日
2026年5月9日
- ##### 平台工程三大支柱:良性循环
2026年5月5日 
- ##### 从传统到自主:通过平台工程驱动保险业未来
2026年5月25日 
相关赞助商
- #### MCP深度解析:AI集成协议
模型上下文协议(MCP)定义了AI系统与工具、数据及服务交互的标准方式。本文将解析MCP架构——主机、客户端与服务器——及其如何实现AI模型与外部系统之间的结构化安全集成。
- 赞助商

相关内容
- ##### 云原生银行的事件驱动模式:成功实践与痛点分析
2026年3月31日 
- Icon##### 从VR到平面屏幕:弥合输入与沉浸体验的差距
2026年4月16日 
2026年4月15日 
- Icon##### 平台工程:从eBay Velocity的兴衰中汲取的经验
2026年4月14日 
- ##### 将配置作为控制平面:大规模设计安全与可靠性
2026年3月20日 
- Icon##### 平台工程:社会技术卓越实践
2026年3月20日 
**InfoQ** 通讯
每周二发送的InfoQ上周内容汇总。加入超过25万名资深开发者的社区。查看示例
输入您的电子邮箱地址
选择您的国家 - [x] 我同意InfoQ.com按照本隐私声明中的说明处理我的数据。
- ##### [Pip 26.1 推出依赖冷却机制和实验性锁文件支持以应对供应链攻击](https://www.infoq.com/news/2026/05/pip-261-dependency-cooldowns/ "Pip 26.1 Ships Dependency Cooldowns and Experimental Lockfile Support to Combat Supply Chain Attacks")
- ##### [Cloudflare和Stripe允许AI代理创建账户、购买域名并部署至生产环境](https://www.infoq.com/news/2026/05/cloudflare-stripe-agent-commerce/ "Cloudflare and Stripe Let AI Agents Create Accounts, Buy Domains, and Deploy to Production")
- ##### [Google推出Cloud Fraud Defense作为reCAPTCHA的继任者](https://www.infoq.com/news/2026/05/cloud-fraud-defense-recaptcha/ "Google Introduces Cloud Fraud Defense as Successor to reCAPTCHA")
- ##### [Shopify报告使用广度优先引擎实现GraphQL执行速度提升15倍](https://www.infoq.com/news/2026/06/shopify-graphql-cardinal-bfs/ "Shopify Reports 15X Faster Graphql Execution with Breadth First Engine")
- ##### [大规模主题系统:如何构建高度可定制的软件](https://www.infoq.com/presentations/liquid-theme-system-dsl/ "Theme Systems at Scale: How To Build Highly Customizable Software")
- ##### [架构师的需求分析:与Sonya Natanzon的对话](https://www.infoq.com/podcasts/requirements-analysis-architects/ "Requirements Analysis for Architects: A Conversation with Sonya Natanzon")
- ##### [从创始工程师到CTO再到CEO——同一家初创公司的成长之路](https://www.infoq.com/presentations/framework-best-practices-startup/ "From Founding Engineer to CTO to CEO – at the Same Startup")
- ##### [AI的目标是问责制:欧盟法规支持透明度](https://www.infoq.com/news/2026/05/accountability-AI-EU-regulations/ "Accountability is the Goal for AI, with EU Regulations Supporting Transparency")
- ##### [从遗留系统到自主权:通过平台工程推动保险业未来](https://www.infoq.com/presentations/insurance-platform-engineering/ "From Legacy to Sovereignty: Driving the Future of Insurance through Platform Engineering")
- ##### [Claude Code新增动态工作流支持并行代理协调](https://www.infoq.com/news/2026/06/dynamic-workflows-claude-code/ "Claude Code Adds Dynamic Workflows for Parallel Agent Coordination")
- ##### [BadHost漏洞暴露AI代理、评估器和LLM网关](https://www.infoq.com/news/2026/06/badhost-ai-systems-vulnerability/ "BadHost Vulnerability Exposes AI Agents, Evaluators, and LLM Gateways")
- ##### [DuckDB Quack:基于HTTP的多用户分析客户端/服务器协议](https://www.infoq.com/news/2026/05/duckdb-quack-protocol/ "DuckDB Quack: Client/Server Protocol over HTTP for Multi-User Analytics")
- ##### [Arm开源Metis:一款性能超越传统SAST工具的AI安全框架](https://www.infoq.com/news/2026/05/arm-metis-agentic-security/ "Arm Open-Sources Metis, an AI Security Framework Outperforming Traditional SAST Tools")
- ##### [AI辅助迁移工具助力团队在数分钟内从ingress-nginx迁移至Higress](https://www.infoq.com/news/2026/05/ai-nginx-higress/ "AI-Assisted Migration Tool Helps Teams Move from ingress-nginx to Higress in Minutes")
- ##### [GitHub通过每日审计和MCP修剪将Agent工作流令牌支出降低62%](https://www.infoq.com/news/2026/05/github-agentic-token-savings/ "GitHub Slashes Agent Workflow Token Spend up to 62% with Daily Audits and MCP Pruning")
**InfoQ** 通讯
每周二发送的InfoQ上周内容精选。加入超过25万资深开发者的社区。查看示例
- 快速了解各类创新者和早期采用者技术的最新内容
- 发现你尚未意识到的未知领域
- 及时获取你感兴趣主题的最新信息
输入您的电子邮件地址
选择您的国家 - [x] 我同意InfoQ.com按照本隐私声明中的说明处理我的数据
[首页](https://www.infoq.com/ "首页")[创建账户](https://www.infoq.com/reginit.action "创建账户")登录[QCon大会](http://qconferences.com/ "QCon大会")活动[为InfoQ撰稿](https://www.infoq.com/write-for-infoq/ "为InfoQ撰稿")[InfoQ编辑团队](https://www.infoq.com/infoq-editors/ "InfoQ编辑团队")[关于InfoQ](https://www.infoq.com/about-infoq/ "关于InfoQ")[关于C4Media](https://c4media.com/ "关于C4Media")[媒体工具包](https://get.infoq.com/infoq-mediakit/ "媒体工具包")[InfoQ开发者营销博客](https://devmarketing.c4media.com/?utm_source=infoq "InfoQ开发者营销博客")[多样性](https://c4media.com/diversity "多样性")
#### 活动
- ##### InfoQ在线架构师认证
2026年6月10日
- ##### InfoQ在线组织架构师认证
2026年6月19日
- ##### InfoQ在线AI工程认证
2026年7月25日
- ##### QCon旧金山大会
2026年11月16-20日
- ##### QCon伦敦2027
2027年4月13-16日
#### 关注我们
YouTube 23.2万关注者LinkedIn 2.6万关注者Instagram 新增RSS 1.9万读者X 5.71万关注者Facebook 2.1万点赞Bluesky 新增
#### 保持信息同步
InfoQ播客工程文化播客软件架构师通讯
一般反馈 [feedback@infoq.com](mailto:feedback@infoq.com) 广告合作 [sales@infoq.com](mailto:sales@infoq.com) 编辑事务 [editors@infoq.com](mailto:editors@infoq.com) 市场推广 [marketing@infoq.com](mailto:marketing@infoq.com)
InfoQ.com及所有内容版权归© 2006-2026 C4Media Inc.所有
关闭
[BT](https://www.infoq.com/int/bt/ "bt")