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

TCP Socket带宽瓶颈排查:服务器接收带宽为何卡在110 MiB/s?

Socket接收带宽瓶颈排查:为何卡在110 MiB/s?

问题场景

  • 基于Python搭建多线程客户端-服务器架构,客户端向服务器发送图片,服务器分析后返回结果
  • 客户端通过FPS监控速度发现,当服务器接收带宽达到110 MiB/s后,无论新增多少客户端,带宽都无法继续提升,导致客户端响应变慢(推测是客户端因带宽不足等待Socket资源释放)
  • 尝试缩小发送图片的尺寸,可支持更多客户端(说明CPU能承载更多并发客户端),但服务器接收数据量仍在110 MiB/s时遇到瓶颈

测试验证

  • 用iperf测试服务器与客户端的网络速度,结果为850-1000 Mbits/sec(多设备作为客户端),证明网络连接带宽足够,可承载更大数据量
  • 尝试开启另一个监听不同端口的服务器实例,接收带宽依旧卡在110 MiB/s
  • 所有测试场景下,在服务器本地运行的客户端速度比其他客户端快10倍以上,说明服务器具备处理更多请求的潜力

核心疑问

  • Socket本身是否存在最大速度限制?
  • 已知Python多线程受GIL(全局解释器锁)影响,是否是CPU处理入站数据的能力上限为110 MiB/s?若为该原因,为何新增服务器实例后带宽未提升?本地客户端速度更快的原因又是什么?
  • 查找Socket最大带宽限制相关信息时,仅找到如何限制(降低)Socket带宽的方法,未找到解除此类上限的方案

环境信息

  • 服务器CPU:Intel i7-10700
  • 服务器系统:Ubuntu 18.04
  • 服务器与客户端处于同一交换机的本地网络
  • 服务器与客户端均运行Python 3.6.9
  • CPU所有核心总使用率约50%
  • 带宽通过gnome-system-monitor工具监控
  • 客户端系统:Ubuntu 18.04 和 20.04

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:55:14