快速结论:这个报错通常出现在自托管 Langfuse 并写入/读取大量 traces/spans 时,即使把 LANGFUSE_S3_CONCURRENT_WRITES 和 LANGFUSE_S3_CONCURRENT_READS 调高,仍会看到 @smithy/node-http-handler 的 socket acquisition 警告。优先排查环境变量是否真正传入运行中的容器、部署配置是否被覆盖或写错,并确认 SDK 对 maxSockets 的支持情况。
适用环境:Langfuse 3.97.2,自托管(self-hosted)部署在云服务器上;Issue 未确认具体操作系统、Python、CUDA、显卡或依赖版本。
最快修复方案:暂无确认的一步修复方案。Issue 中明确的结论是 LANGFUSE_S3_CONCURRENT_WRITES 在代码里会被读取并用于设置 S3 客户端的 maxSockets,但 LANGFUSE_S3_CONCURRENT_READS 未被应用于 S3 客户端配置,因此单独调大 LANGFUSE_S3_CONCURRENT_READS 不会生效,除非代码更新。
注意事项:目前没有已知的、经 Issue 验证可彻底消除警告的配置。调高 LANGFUSE_S3_CONCURRENT_WRITES 在理论上应增加允许的并发 S3 连接数,但若变量未正确传入、被部署配置覆盖、拼写有误,或与当前 AWS SDK 版本不兼容,仍可能出现 socket 警告。需要自行确认运行时实际生效的值。
问题场景
用户在自托管 Langfuse 环境中,向实例发送大量 traces/spans 时触发该问题。用户已经在环境变量中设置了较高的 LANGFUSE_S3_CONCURRENT_WRITES 和 LANGFUSE_S3_CONCURRENT_READS,但 pod 日志中仍持续出现 @smithy/node-http-handler 的 socket acquisition 警告。用户怀疑这些环境变量没有被 S3 客户端正确读取。
报错原文
bug: LANGFUSE_S3_CONCURRENT_WRITES and LANGFUSE_S3_CONCURRENT_READS not applied as expected
... @smithy/node-http-handler warnings ...
原因分析
根据 Issue 讨论中的分析:
LANGFUSE_S3_CONCURRENT_WRITES确实会从环境变量中加载,并用于为 S3 客户端设置maxSockets,因此在代码层面调高该值应增加允许的并发 S3 连接数。LANGFUSE_S3_CONCURRENT_READS似乎没有被用于 S3 客户端配置,所以单独调高它对读操作没有效果,除非代码更新以将该变量应用于读操作。- 如果已经在
LANGFUSE_S3_CONCURRENT_WRITES设置很高的情况下仍看到 socket acquisition 警告,可能原因包括:环境变量未在容器中设置或未正确传播;部署配置中存在拼写错误或覆盖;或者与使用的 AWS SDK 版本不兼容。
环境排查
- 确认 Langfuse 版本:Issue 中为 3.97.2。
- 确认
LANGFUSE_S3_CONCURRENT_WRITES是否在运行中的容器内实际生效,可在容器内执行env查看,或在 S3 客户端构造处打印该值。 - 检查部署配置中是否存在拼写错误或对同名环境变量的覆盖。
- 确认当前使用的 AWS SDK 版本是否支持
maxSockets选项。 - 确认
LANGFUSE_S3_CONCURRENT_READS在当前版本中是否已被应用于 S3 客户端配置(根据讨论,尚未应用)。
解决步骤
- 进入运行中的 Langfuse 容器,执行
env或等效命令,确认LANGFUSE_S3_CONCURRENT_WRITES的实际值是否符合预期。 - 检查部署文件(如 Docker Compose、Kubernetes manifest、Helm values 等)中该环境变量的拼写,确认没有被其他配置覆盖。
- 在 S3 客户端构造处增加日志,打印实际传入的
maxSockets值,确认运行时真正使用的值。 - 如果确认
LANGFUSE_S3_CONCURRENT_WRITES已正确传入且 SDK 兼容,但警告仍存在,可关注后续版本是否更新了LANGFUSE_S3_CONCURRENT_READS的应用逻辑。 - 如果排查后仍无法解决,建议在 Issue 中补充运行时环境与 SDK 版本的详细信息以便进一步分析。
验证方法
在调整环境变量并确认其在容器内生效后,重新向 Langfuse 发送较大量的 traces/spans,观察 pod 日志中 @smithy/node-http-handler 的 socket acquisition 警告是否减少或消失。同时确认 S3 客户端构造时打印的 maxSockets 值与预期一致。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


