微信扫码
添加专属顾问
我要投稿
探索阿里云函数计算如何降低MCP Server长连接闲置成本,实现成本最高降低87%的技术突破。 核心内容: 1. 阿里云函数计算服务介绍及其对MCP Server的支持 2. MCP Server场景下长连接闲置问题解析 3. 函数计算针对MCP Server长连接闲置的计费优化方案
函数计算( FC )是阿里云事件驱动的全托管计算服务,使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码或镜像。函数计算为您准备好计算资源,弹性地、可靠地运行任务,并提供日志查询、性能监控和报警等功能。面对 MCP Server 场景,函数计算不仅通过 MCP Runtime 支持了社区开源的 Stdio MCP Server 一键托管到函数计算;还通过亲和性调度解决了 MCP Server Session 会话保持的关键问题;同时函数计算针对 MCP Server 的场景特点,在函数计算已有的毫秒级计费基础上,实现了长连接闲置计费能力,支持部署到函数计算的 MCP Server 实现按用计费,在稀疏调用场景,最高可降低 87% 的 MCP Server 的托管成本。
为什么 MCP Server
可能存在资源闲置问题?
Cloud Native
在系列文章首篇 MCP Server 实践之旅第 1 站:MCP 协议解析与云上适配 我们深入解析了 MCP 以及 SSE 协议,该协议通过定义标准化事件类型,实现了客户端-服务端的交互控制及会话保持机制,交互过程如下图所示:
event:endpoint
类型的事件,将 sessionId 信息放入 data 中返回。(Connection1)initialized
作为确认。(Connection3)list tools
。(Connection4)call tool
。(Connection5)所以,由于 MCP Server 通信协议需要会话保持的特点,一旦初始化,就会建立长连接绑定固定的服务器资源。但绝大多数 MCP Server 的业务流量呈现典型的稀疏性(Sparse Access)与突发性(Burstiness)特征——请求分布高度离散且流量峰谷波动显著,导致服务器资源的实际资源利用率很低,典型场景下图所示:
某用户通过大模型初始化了一个 MCP Server,实现对某文档库的检索能力,大模型会话持续了 1 小时才关闭,期间总共检索了 2 次,资源保持时间是 1 小时,实际初始化与检索的时间为 7.1s,资源闲置比例高达 99.8%。在一些复杂的 AI Agent 场景,可能一个会话要连接多个不同用途的 MCP Server,可能产生大量的资源闲置,谁来承担这个闲置成本呢?
函数计算为用户让利,
承担了 MCP Server 资源闲置成本
Cloud Native
按用计费,是函数计算为用户降本的宗旨,函数计算通过长期对技术的耕耘,已经建立起了三个核心能力:
正由于具备这些核心能力,函数计算实现了通过技术降本,所以选择了为用户让利,承担起了 MCP Server 的资源闲置成本。
闲置计费实现的技术内幕
Cloud Native
目前函数计算已实现按用计费的能力,如函数计算计费概述【1】所示,按照请求计费的模式是按用计费的典型模式,只有请求执行期间,才会产生费用,无请求执行,实例处于“冻结”状态,冻结持续几分钟便会自动释放资源,不会产生额外的费用;即使您选择预留实例,由于有明确的“冻结”状态来判断闲置,预留实例在无请求执行时仅需要支付内存成本。但由于 MCP Server 的协议会话保持、异步提交及流式返回的特点,在会话持续期间,始终需要保持计算资源的活跃,故无法通过明确的“冻结”状态来减免资源闲置成本,所以函数计算面向 MCP Server 场景,引入了额外的判断闲置的方法,如下所示:
函数计算将 MCP Server 长连接时间划分成多个闲置判断周期,如果某周期实际消耗的 CPU Time 低于某个阈值,则该周期算作闲置,这个阈值的设定,确保了只有发生 Initialize/List Tools/Call Tools 等实际调用时,函数实例才会判断为活跃。
以上述稀疏调用场景为例:
4 次实际的动作,只有 8 秒算做活跃周期,剩余 3592 秒都处于闲置周期,闲置的周期,在计量上会减免 CPU 费用,只计算内存费用;内存费用参考函数计算计费概述【1】,以 2 核 3GB 的配置为例,内存费用仅占 18%,整体费用节省:
(1- (8 + 3592 * 18%)/3600),约为 82%,如果以 2 核 2GB 最低内存比例配置为例,整体费用可降低 87%。为了简化对 MCP Server 场景闲置计费的理解,费用节省直接折算成减少 CU 计算时间,无条件的降低,在计量上表现为 CU 计算时间和活跃 vCPU 时间的降低。
如何开启 MCP Server
的闲置计费能力?
Cloud Native
MCP Server 闲置计费能力主要目标是解决会话亲和性保持造成闲置的问题,当开启会话亲和性后便默认开启闲置计费能力,开启方法参考 MCP 亲和性调度【2】。
通过函数计算控制台【3】 MCP 运行时开发 MCP 服务或通过 Function AI 创建 MCP 服务【4】时,创建的函数自带 MCP Server 的闲置计费能力:
另外,对于 Websocket 需要维持长请求的场景,也同步支持了闲置计费能力,无需参数设置默认开启,敬请体验,计费详情可到函数计算-资源用量明细【7】查看。
相关链接
【1】函数计算计费概述
https://www.alibabacloud.com/help/zh/functioncompute/fc-3-0/product-overview/billing-overview-1?spm=a2c63.p38356.help-menu-2508973.d_0_3_0.429913e5SVq5eU
【2】MCP 亲和性调度
https://help.aliyun.com/zh/functioncompute/fc-3-0/user-guide/mcp-sse-affinity-scheduling?spm=a2c4g.11186623.help-menu-2508973.d_2_6_0.12b85577qvYmAf&scm=20140722.H_2882558._.OR_help-T_cn~zh-V_1#b44485e04bfeo
【3】函数计算控制台
https://fcnext.console.aliyun.com/overview
【4】创建 MCP 服务
https://help.aliyun.com/zh/functioncompute/fc-3-0/mcp-server
【5】CreateFunction - 创建函数
https://help.aliyun.com/zh/functioncompute/fc-3-0/developer-reference/api-fc-2023-03-30-createfunction
【6】UpdateFunction - 更新函数
https://help.aliyun.com/zh/functioncompute/fc-3-0/developer-reference/api-fc-2023-03-30-updatefunction
【7】函数计算 - 资源用量明细
https://fcnext.console.aliyun.com/billing
相关文章
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-08-13
2024-06-13
2024-08-21
2024-07-31
2024-09-23
2024-05-28
2024-08-04
2024-04-26
2024-07-09
2024-07-20