最近在尝试把公司内部的一个文档助手用 MCP 协议包装成服务,部署到 K8s 集群上。本地用 Python 的 mcp 客户端测试没问题,但一上生产,客户端(用的官方 SDK)就频繁报连接超时,偶尔能连上也很快断掉。我检查了服务端日志,发现它明明在监听端口,也没有明显报错。怀疑是不是 MCP 的 heartbeat 机制在生产环境网络波动下不够稳定,或者我的 ServerCapabilities 配置有问题?有没有大佬遇到过类似情况,求指点一下排查思路或者调优经验。
楼主
2026-07-30
MCP 服务部署到生产环境后,客户端连接老是超时怎么办?
请 登录 后发表回复
全部回复
共 144 条
2楼
26天前
K8s 里 Service 的 sessionAffinity 没开吧?MCP 长连接容易被随机转发到不同 Pod 上。
3楼
25天前
先看看 K8s 的 service 是不是走了 conntrack 超时,长连接容易被悄悄掐掉,加个 keepalive 试试。
4楼
24天前
K8s 里 MCP 超时坑挺多的,我之前也踩过。先查下 Service 的 sessionAffinity 是不是没开,默认轮询会把同一个客户端的请求打到不同 Pod,连接自然就断了。另外看下 Ingress 或 LB 的 idle timeout,很多默认 60 秒,比 MCP 的 heartbeat 间隔还短,心跳还没发出去连接就被掐了。ServerCapabilities 一般不至于导致超时,重点还是放在网络层和长连接保活上。
5楼
23天前
先抓包看下超时是卡在TCP握手还是MCP初始化阶段,K8s的Service和Ingress超时配置也顺手查查。