MCP Server On FC 之旅第四站: 长连接闲置计费最高降低87%成本的技术内幕
函数计算( FC )是阿里云事件驱动的全托管计算服务, 使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码或镜像。函数计算为您准备好计算资源,弹性地、可靠地运行任务,并提供日志查询、性能监控和报警等功能。面对 MCP Server 场景,函数计算不仅通过 MCP Runtime 支持了社区开源的 Stdio MCP Server 一键托管到函数计算;还通过亲和性调度解决了 MCP Server Session 会话保持的关键问题;同时函数计算针对 MCP Server 的场景特点,在函数计算已有的毫秒级计费基础上,实现了长连接闲置计费能力,支持部署到函数计算的 MCP Server 实现按用计费,在稀疏调用场景,最高可降低 87% 的 MCP Server 的托管成本。
为什么 MCP Server 可能存在资源闲置问题?
在系列文章首篇 MCP Server 实践之旅第 1 站:MCP 协议解析与云上适配 我们深入解析了 MCP 以及 SSE 协议,该协议通过定义标准化事件类型,实现了客户端-服务端的交互控制及会话保持机制,交互过程如下图所示:
- Client端发起一个 GET 请求,建立SSE长连接。(Connection1)
- Server端回复
event:endpoint
类型的事件,将sessionId信息放入data 中返回。(Connection1) - Client端使用第2步返回的sessionId信息发起首个HTTP POST 请求。(Connection2)
- Server端迅速响应202,但无内容。(Connection2)
- Server端返回第3步请求的实际消息。(Connection1)
- Client端使用第2步返回的sessionId发起HTTP POST请求
initialized
作为确认。(Connection3) - Server端迅速响应202,无内容。(Connection3)
- Client端使用第2步返回的sessionId发起HTTP POST请求
list tools
。(Connection4) - Server端迅速响应202,无内容。(Connection4)
- Server端返回第8步请求的实际消息,即工具列表。(Connection1)
- Client端使用第2步返回的sessionId发起HTTP POST请求
call tool
。(Connection5) - Server端迅速响应202,无内容。(Connection5)
- Server端返回第11步请求的实际消息,即工具调用结果。(Connection1)
所以,由于 MCP Server 通信协议需要会话保持的特点,一旦初始化,就会建立长连接绑定固定的服务器资源。但绝大多数 MCP Server 的业务流量呈现典型的稀疏性(Sparse Access)与突发性(Burstiness)特征------请求分布高度离散且流量峰谷波动显著,导致服务器资源的实际资源利用率很低,典型场景下图所示:
某用户通过大模型初始化了一个 MCP Server,实现对某文档库的检索能力,大模型会话持续了1小时才关闭,期间总共检索了2次, 资源保持时间是1小时,实际初始化与检索的时间为7.1s,资源闲置比例高达99.8%。在一些复杂的 AI agent 场景, 可能一个会话要连接多个不同用途的 MCP Server,可能产生大量的资源闲置,谁来承担这个闲置成本呢?
函数计算为用户让利,承担了 MCP Server 资源闲置成本
按用计费,是函数计算为用户降本的宗旨,函数计算通过长期对技术的耕耘,已经建立起了三个核心能力:
- 高密度、多样化混部,实现了计算资源的错峰使用:函数计算有来自不同行业的活跃用户,产生了海量的负载类型,基于阿里云"沙箱容器"及"裸金属服务器",函数计算实现了计算节点上高密度部署,使得多样化的场景类型可以错峰使用计算资源,提升了服务器整体的能效比;
- 基于函数级别的资源画像实现主动干预调度,减少资源挤占的隐患:函数计算基于历史数据,为活跃函数建立起精准的资源画像模型,可以识别函数在不同时间段的资源占用情况,基于画像模型,可以主动对占用大量计算资源的函数调度,减少由于计算节点资源挤占,影响请求延时的概率;
- 百毫秒级的快速弹性及平滑迁移能力,能快速兜底处理资源挤占问题:函数计算具备百毫秒级的弹性及平滑迁移用户负载的能力,在识别到有资源挤占的行为发生时,可以通过平滑迁移快速恢复;
正由于具备这些核心能力,函数计算实现了通过技术降本,所以选择了为用户让利,承担起了 MCP Server 的资源闲置成本。
闲置计费实现的技术内幕
目前函数计算已实现按用计费的能力,如函数计算计费概述所示,按照请求计费的模式是按用计费的典型模式,只有请求执行期间,才会产生费用,无请求执行,实例处于"冻结"状态,冻结持续几分钟便会自动释放资源,不会产生额外的费用;即使您选择预留实例,由于有明确的"冻结"状态来判断闲置,预留实例在无请求执行时仅需要支付内存成本。但由于 MCP Server 的协议会话保持、异步提交及流式返回的特点,在会话持续期间,始终需要保持计算资源的活跃,故无法通过明确的"冻结"状态来减免资源闲置成本,所以函数计算面向 MCP Server 场景,引入了额外的判断闲置的方法,如下所示:
函数计算将 MCP Server 长连接时间划分成多个闲置判断周期,如果某周期实际消耗的 CPU Time 低于某个阈值,则该周期算作闲置,这个阈值的设定,确保了只有发生 Initialize/List Tools/Call Tools 等实际调用时,函数实例才会判断为活跃。
以上述稀疏调用场景为例:
4次实际的动作,只有8秒算做活跃周期,剩余3592秒都处于闲置周期,闲置的周期,在计量上会减免 CPU 费用,只计算内存费用;内存费用参考函数计算计费概述,以2核3GB的配置为例,内存费用仅占18%,整体费用节省:
(1- (8 + 3592 × 18%)/3600),约为82%,如果以2核2GB最低内存比例配置为例,整体费用可降低87%。为了简化对 MCP Server 场景闲置计费的理解,费用节省直接折算成减少 CU 计算时间,无条件的降低,在计量上表现为 CU 计算时间和活跃 vCPU 时间的降低。
如何开启 MCP Server 的闲置计费能力?
MCP Server 闲置计费能力主要目标是解决会话亲和性保持造成闲置的问题,当开启会话亲和性后便默认开启闲置计费能力,开启方法参考 MCP亲和性调度。
通过函数计算控制台 MCP 运行时开发 MCP 服务或通过 Function AI 创建 MCP 服务时,创建的函数自带 MCP Server 的闲置计费能力:
- 函数计算控制台:
- Funciton AI 控制台:
其它场景需要在创建函数时通过参数指定开启:调用 API CreateFunction - 创建函数或 UpdateFunction - 更新函数,通过 SessionAffinity 字段指定调用请求的亲和策略为"MCP_SSE",注意:由于 GPU 资源稀缺,对于配置了 GPU 的函数实例,不支持长连接的闲置计费。
另外,对于 Websocket 需要维持长请求的场景,也同步支持了闲置计费能力,无需参数设置默认开启,敬请体验,计费详情可到函数计算-资源用量明细查看。
更多内容关注 Serverless 微信公众号(ID:serverlessdevs),汇集 Serverless 技术最全内容,定期举办 Serverless 活动、直播,用户最佳实践。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
YueScript:程序员手写代码的满月物语
本文中,我们将展示 YueScript 独特的语法糖设计,包括管道操作符、可选链与空值合并、箭头函数、循环表达式、连锁比较与反向回调语法。通过代码示例,让你轻松感受 YueScript 如何提升编程的愉悦感。 文中的编程语言项目请参见: 官网:https://yuescript.org/zh GitHub:https://github.com/IppClub/YueScript Gitee:https://gitee.com/IppClub/YueScript AI 自动编程的时代,我们为什么还要设计面向人类的编程语言? AI 大模型时代已经悄然来临,越来越多的代码正被自动生成,"让 AI 写程序"似乎是技术发展的必然趋势。也许不久之后,我们连一行代码都不必亲手编写了,随便说两句话,AI 就自动帮你写好,甚至自动帮你修复 Bug。 那么,既然如此,我们为什么还要花费精力去设计一门面向人类手写体验的编程语言呢? 原因很简单:在自动驾驶的时代,仍会有人喜欢亲自开车;在 AI 制作音乐的时代,仍然有人热爱亲自弹奏乐器。技术的发展从来不是为了剥夺我们动手创造的乐趣,相反,它应该...
- 下一篇
湖仓一体,不只是技术升级,更是企业决策力再造
湖仓一体不仅仅是一种技术流行趋势--它改变了游戏规则,重新定义了行业领导者如何利用其最宝贵的资产:数据。 你是否想知道这种方法能否成为你的竞争优势?湖仓一体架构将数据仓库和数据湖的精华结合到一个统一的高性能平台中,为当今复杂的数据挑战提供了前所未有的价值。 要想真正了解未来的发展方向,我们需要先了解过去。在数据平台的发展过程中,各种技术层出不穷,但核心挑战始终不变:如何以最低的复杂度和成本从数据中挖掘最大的商业价值。 这正是行业领导者迅速采用湖仓一体架构的原因。这不仅仅是一种改进,而是一种根本性的转变,可以重新定义你的业务可能,使你能够做出战略决策,改变你的数据能力,创造可持续的竞争优势。 大数据基础设施的开端: Hadoop 及其 JVM 系列 大约 10-15 年前,围绕 Hadoop 出现了第一波大数据平台,Lambda 架构(结合批处理和实时处理)成为行业标准。这些系统异常复杂且资源密集。各组织在专业人才方面投入了巨资,但由此产生的系统往往是离线组件的零散集合,商业可行性有限。 在这个时代,技术团队会用精心设计的 Hadoop + Hive + Spark 架构图来打动高管,承...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS8编译安装MySQL8.0.19
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Linux系统CentOS6、CentOS7手动修改IP地址