hc67186937 2015-10-26 09:20 采纳率: 0%
浏览 2561
已结题

如何突破TCP连接数瓶颈

目前情况:
本人普通i5内存8G的PC用多线程同时向10万个不同IP的主机发起httprequest请求,超时时间设置为5秒,用线程池技术,总线程保持在5000个,目前只能收到每秒300个左右的request回复,CPU已经100%,内存没满,占用4G,windows7操作系统界面已经卡住不能动了,但程序还能正常跑
,此时用360网络监控程序发现,上传速度和下载速度都保持在几KB,很小很小,我的带宽是100M光纤,也就是说瓶颈肯定不在带宽上,那瓶颈是不是在CPU上?还是在网卡上?还是我程序问题?

我的问题是:
如何突破这每秒只有300左右回复的瓶颈,按理论速度应该是5000个线程/5秒=1000个回复/s,是不是只能增加CPU配置换个i7的16核心的或者还有其他什么办法?

  • 写回答

3条回答 默认 最新

  • a121984376 2015-10-26 09:32
    关注

    i5的cpu是 双核四线程么? 那也就是 同时只能有4个线程在跑。。
    线程上下文切换很费资源,你10万个线程造成线程频繁的切换上下文。你可以尝试缩少线程试试。找到一个最佳的平衡点。

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料