You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hypercorn ASGI+Socket读取数据时,内存收集致传输速率下降问题

网络传输速率异常问题排查

问题场景

使用Hypercorn ASGI应用结合Socket(原测试采用requests API,后改用Socket+BufferedReader)分析网络传输速率时,发现将接收的数据存入内存列表chunks时,传输速率出现明显下降。

预期结果

无论是否将数据存入chunks变量,传输速率应保持一致。

实际结果

注释chunks.append(data)代码时,传输速率约为2.6Gbps;启用该代码后,速率降至1.4Gbps。

测试补充信息

  • 机器内存超过1TB,流传输前创建20GB的dummy列表对速率无影响,但传输期间创建该列表会导致速率下降;
  • 通过cProfile分析发现,速率正常时BufferedReader调用recv_into的次数是速率下降时的10倍,怀疑是缓冲区大小发生了变化;
  • Line Profiler显示,启用chunks.append(data)时,bufferedReader.read(ONE_MB)的耗时几乎翻倍;
  • 即使是向列表追加随机生成的1MB数据,read操作的耗时依然很高;执行del data后,read耗时降低了50%。

内容的提问来源于stack exchange,提问作者Allen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 23:07:05