通过PROC信息调节TCP窗口
关于这些东西: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窗口相关推荐
- linux tcp窗口大小设置,高性能Linux:TCP/IP内核参数调优之TCP窗口扩大因子(TCP Window Scaling)选项(理论篇)...
TCP报文窗口字段介绍 在TCP报文头部,有一个16比特的窗口字段,用来表示接受方的缓冲区大小,发送方可以根据这个值的大小来调节发送的数据量,从而起到流控的目的. TCP的流量控制由连接的每一端通过声 ...
- ftp服务器响应很慢,有果必有因:FTP传输速率慢和TCP窗口、网络时延的因果案例...
本文要点: 对于TCP协议来说,通信双方一次只能传输TCP窗口大小的数据,然后等待接收方确认,等到确认完毕后才能传输下一段窗口大小的数据. 因此TCP协议的传输速率,取决于TCP传输窗口的大小和网络转 ...
- socketTCP协程文件+信息传递 - TCP聊天文件服务器v1.9 - 划时代的版本更新(4.6万字)
TCP聊天+传输文件服务器服务器套接字v1.9 这, 划时代的版本更新, 修复若干大bug, 文件/信息区分, 最最最重要的一点是, 程序可以传文件了!!! 类似于QQ等软件(只不过.css比不上) ...
- tcp窗口滑动以及拥塞控制
转自:http://blog.chinaunix.net/uid-26275986-id-4109679.html TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥 ...
- TCP窗口管理之发送窗口
1. TCP发送窗口 TCP发送端提供窗口的大小是由接收端返回的ACK中窗口大小字段控制的.另外,TCP中是以字节而非包为单位维护其窗口结构的. 2. TCP拥塞控制原理 https://mp.wei ...
- Windows10关闭TCP窗口autotuning解除限制提升网速
以管理员身份打开cmd 运行下面的代码可查看TCP参数设置 netsh interface tcp show global 如图 我们可以看到自动调节接收窗口是打开的,如果我们只在乎网速而忽略其他性能 ...
- TCP窗口调整与数据流控制以及病态窗口症状
TCP协议主要依赖不断调整窗口大小来保证数据收发吞吐率.在三次握手时,客户端会告诉服务器自己一次能接收数据量的大小,这就对应客户端的接收窗口以及服务器的发送端口.同理服务器也会告知客户端它一次能接收的 ...
- C#程序输出信息到调试窗口的几种方式
网站项目: System.Diagnostics.Debug.WriteLine("aaa"); 控制项目:Console.WriteLine("bbb"); ...
- 提高linux上socket的性能(linux优化),提高 Linux 上 socket 性能
使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信.与其他 API 一样,您可以通过一些方法使用 Soc ...
最新文章
- 论文被拒,项目被砍?斯坦福最惨在读博士教你如何直面失败
- xmpp协议抓包_开源网络抓包与分析框架学习-Packetbeat篇
- Dev-C++ 调试方法简明图文教程
- VTK:结构化网格之StructuredGridOutline
- 关于echars中雷达图的一些配置
- 公共方法-利用for else搜索字典列表-for else
- 颠覆:链表在删除和插入的效率一定优于数组吗?
- php 显示数据库操作错误,php操作mysql数据库编码错误
- WebService的应用之winform身份验证
- Future 接口介绍
- 第一冲刺阶段(第四天)
- 快速计算代码行小工具
- 华为设备ERPS配置命令
- IPC的标准是什么?
- 怎么禁用计算机上的自动播放,手把手教你如何关闭自动播放
- IT项目管理之第5章 项目时间管理习题之选择题汇总
- 一本应届毕业生求职经历+心得小结
- ibm java虚拟机_IBM J9 Java虚拟机正式开源,贡献给Eclipse基金会管理
- 联想新服务器怎么装系统教程,联想小新重装win7系统的详细教程图解
- 打开PDF文件时,出现“打开本文档时发生错误。无法找到本文件。”解决办法,亲自尝试成功