关于这些东西:http://man7.org/linux/man-pages/man7/tcp.7.html

1, /sys/kernel/ipv4/tcp_rmem_xxx

这种方式验证过,把值得设置得很大的时候TCP速度有质的提升

2,

/proc/sys/net/core/rmem_default 定义默认的接收窗口大小
/proc/sys/net/core/rmem_max 定义接收窗口的最大大小
/proc/sys/net/core/wmem_default 定义默认的发送窗口大小
/proc/sys/net/core/wmem_max 定义发送窗口的最大大小
/proc/sys/net/ipv4/tcp_window_scaling 启用 RFC 1323 定义的 window scaling;要支持超过 64KB 的窗口,必须启用该值。

3, 这个还没弄明白

/proc/sys/net/ipv4/tcp_mem
/proc/sys/net/ipv4/tcp_wmem
/proc/sys/net/ipv4/tcp_rmem

4, 通过setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &buflen, sizeof(int)) 设置的recv buf 大小与窗口究竟有什么关系呢?

recv buf使用默认大小80K时,通告窗口常为18K左右

recv buf设置为10MB后,通告窗口变成了40K左右

注:

1> 通过配置/proc/sys/net/ipv4/tcp_rmem的大小将影响所有创建的socket的rcv buf大小,而

通过setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &buflen, sizeof(int)) 只设置当前socket rcvbuf的大小。

2> recv buf使用默认大小80K时,通告窗口常为18K左右, recv buf设置为10MB后,通告窗口变成了40K左右

因为通过setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &buflen, sizeof(int)) 设置的buf大小不能超过/proc/sys/net/core/rmem_max指定的大小,

TCP实际分配的buf大小将是通过setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &buflen, sizeof(int)) 指定的两倍。

转载于:https://www.cnblogs.com/vleung/p/4136322.html

通过PROC信息调节TCP窗口相关推荐

  1. linux tcp窗口大小设置,高性能Linux:TCP/IP内核参数调优之TCP窗口扩大因子(TCP Window Scaling)选项(理论篇)...

    TCP报文窗口字段介绍 在TCP报文头部,有一个16比特的窗口字段,用来表示接受方的缓冲区大小,发送方可以根据这个值的大小来调节发送的数据量,从而起到流控的目的. TCP的流量控制由连接的每一端通过声 ...

  2. ftp服务器响应很慢,有果必有因:FTP传输速率慢和TCP窗口、网络时延的因果案例...

    本文要点: 对于TCP协议来说,通信双方一次只能传输TCP窗口大小的数据,然后等待接收方确认,等到确认完毕后才能传输下一段窗口大小的数据. 因此TCP协议的传输速率,取决于TCP传输窗口的大小和网络转 ...

  3. socketTCP协程文件+信息传递 - TCP聊天文件服务器v1.9 - 划时代的版本更新(4.6万字)

    TCP聊天+传输文件服务器服务器套接字v1.9 这, 划时代的版本更新, 修复若干大bug, 文件/信息区分, 最最最重要的一点是, 程序可以传文件了!!! 类似于QQ等软件(只不过.css比不上) ...

  4. tcp窗口滑动以及拥塞控制

    转自:http://blog.chinaunix.net/uid-26275986-id-4109679.html TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥 ...

  5. TCP窗口管理之发送窗口

    1. TCP发送窗口 TCP发送端提供窗口的大小是由接收端返回的ACK中窗口大小字段控制的.另外,TCP中是以字节而非包为单位维护其窗口结构的. 2. TCP拥塞控制原理 https://mp.wei ...

  6. Windows10关闭TCP窗口autotuning解除限制提升网速

    以管理员身份打开cmd 运行下面的代码可查看TCP参数设置 netsh interface tcp show global 如图 我们可以看到自动调节接收窗口是打开的,如果我们只在乎网速而忽略其他性能 ...

  7. TCP窗口调整与数据流控制以及病态窗口症状

    TCP协议主要依赖不断调整窗口大小来保证数据收发吞吐率.在三次握手时,客户端会告诉服务器自己一次能接收数据量的大小,这就对应客户端的接收窗口以及服务器的发送端口.同理服务器也会告知客户端它一次能接收的 ...

  8. C#程序输出信息到调试窗口的几种方式

    网站项目: System.Diagnostics.Debug.WriteLine("aaa"); 控制项目:Console.WriteLine("bbb"); ...

  9. 提高linux上socket的性能(linux优化),提高 Linux 上 socket 性能

    使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信.与其他 API 一样,您可以通过一些方法使用 Soc ...

最新文章

  1. 论文被拒,项目被砍?斯坦福最惨在读博士教你如何直面失败
  2. xmpp协议抓包_开源网络抓包与分析框架学习-Packetbeat篇
  3. Dev-C++ 调试方法简明图文教程
  4. VTK:结构化网格之StructuredGridOutline
  5. 关于echars中雷达图的一些配置
  6. 公共方法-利用for else搜索字典列表-for else
  7. 颠覆:链表在删除和插入的效率一定优于数组吗?
  8. php 显示数据库操作错误,php操作mysql数据库编码错误
  9. WebService的应用之winform身份验证
  10. Future 接口介绍
  11. 第一冲刺阶段(第四天)
  12. 快速计算代码行小工具
  13. 华为设备ERPS配置命令
  14. IPC的标准是什么?
  15. 怎么禁用计算机上的自动播放,手把手教你如何关闭自动播放
  16. IT项目管理之第5章 项目时间管理习题之选择题汇总
  17. 一本应届毕业生求职经历+心得小结
  18. ibm java虚拟机_IBM J9 Java虚拟机正式开源,贡献给Eclipse基金会管理
  19. 联想新服务器怎么装系统教程,联想小新重装win7系统的详细教程图解
  20. 打开PDF文件时,出现“打开本文档时发生错误。无法找到本文件。”解决办法,亲自尝试成功

热门文章

  1. Head First JSP---随笔四
  2. 【一雪前耻!】两种方法判断大小端模式
  3. RPC和Restful深入理解
  4. 为什么wait、notify必须在synchronized保护的同步代码中
  5. undefined reference to 问题解决方法
  6. html laber上下居中,CSS未知高度垂直居中的实现
  7. 大数据入门基础教程系列
  8. Ransomware Locky Analysis
  9. JZOJ 5454. 【NOIP2017提高A组冲刺11.5】仔细的检查
  10. JZOJ 5414. 【NOIP2017提高A组集训10.22】幸运值