通过PROC信息调节TCP窗口

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左右

时间: 2024-12-05 06:43:26

通过PROC信息调节TCP窗口的相关文章

Wireshark(五):TCP窗口与拥塞处理

原文出处: EMC中文支持论坛 TCP通过滑动窗口机制检测丢包,并在丢包发生时调整数据传输速率.滑动窗口机制利用数据接收端的接收窗口来控制数据流. 接收窗口值由数据接收端指定,以字节数形式存储于TCP报文头,并告知传输设备有多少数据将会存储在TCP缓冲区.缓冲区就是数据暂时放置的地方, 直至传递至应用层协议等待处理.因此,发送端每次只能发送Window Size字段指定的数据量.为了使发送端继续传送数据,接收端必须发送确认信息:之前的数据接收到了.同时必须对占用缓冲区的数据进行处理以释放缓存空

TCP窗口扩展因子设置错误导致数据传输慢问题排查始末

最近有用户反映有2个机房的服务器互传数据很慢,传输速度在2-3M/s ,正常情况下应该是50M/s 左右.这个2个机房是跨地区的,一个在广东,一个在江苏. 说明:这里为了表述,将用户在广东机房的服务器称为A服务器,江苏机房的服务器称为B服务器. 将我自己在广东机房的服务顺称为C服务器,江苏机房的服务器称为D服务器 用户询问是不是机房有限速,正常情况下,机房是不会做这种限速的. 我登录了自己的C.D服务器,互传测试数据,发现数据传输正常,数据传输速度在50M/S , 从上面的基本验证了,机房是没有

读取proc信息的可扩展实现

需求 1. 将内存.线程数等信息注册到zk上进行监控 2. 统计信息,为下一步做负载均衡做准备. 实现 本文只解决问题1. 从网上查询了下,这些信息可以从proc文件系统中获取,如果不知道proc的,可以Google下. 网上有读取proc信息的lib——libproc,即 procps, 据说htop等实现就是基于它的. 我下载下来了,include和lib都生成了,好不容易找到一篇教程,结果在 stackoverflow上,见有人说有内存泄露,需要如下方法做. int main(int ar

编写三各类Ticket、SaleWindow、TicketSaleCenter分别代表票信息、售票窗口、售票中心。 售票中心分配一定数量的票,由若干个售票窗口进行出售,利用你所学的线程知识来模拟此售票过程。

package com.swift; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class TicketSaleCenter { public static void main(String[] args) { /* * 第6题: 编写三各类Ticket.SaleWindow.TicketSaleCenter分别代表票信息.售票

一站式学习Wireshark(五):TCP窗口与拥塞处理

TCP通过滑动窗口机制检测丢包,并在丢包发生时调整数据传输速率.滑动窗口机制利用数据接收端的接收窗口来控制数据流. 接收窗口值由数据接收端指定,以字节数形式存储于TCP报文头,并告知传输设备有多少数据将会存储在TCP缓冲区.缓冲区就是数据暂时放置的地方,直至传递至应用层协议等待处理.因此,发送端每次只能发送Window Size字段指定的数据量.为了使发送端继续传送数据,接收端必须发送确认信息:之前的数据接收到了.同时必须对占用缓冲区的数据进行处理以释放缓存空间.下图显示了接收窗口是如何工作的:

todo:proc信息

1.内存 [email protected]:~/share/uspace$ cat /proc/meminfo MemTotal: 1016124 kB MemFree: 258380 kB MemAvailable: 684700 kB Buffers: 31520 kB Cached: 518092 kB SwapCached: 0 kB Active: 446536 kB Inactive: 227444 kB Active(anon): 125276 kB Inactive(anon)

tcp窗口滑动以及拥塞控制(转)

转自:http://blog.chinaunix.net/uid-26275986-id-4109679.html TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现.一.滑动窗口协议     关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议.     所谓滑动窗口协议,自己理解有两点:1. "窗口"对应的是一段可以被发送者发送的字节序列,其连续的范围称

计算机网络【七】:可靠传输的实现 (tcp窗口滑动以及拥塞控制)【转】

转自:http://blog.chinaunix.net/uid-26275986-id-4109679.html TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现.一.滑动窗口协议     关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议.     所谓滑动窗口协议,自己理解有两点:1. "窗口"对应的是一段可以被发送者发送的字节序列,其连续的范围称

tcp窗口滑动以及拥塞控制

TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现.一.滑动窗口协议关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议.所谓滑动窗口协议,自己理解有两点:1. "窗口"对应的是一段可以被发送者发送的字节序列,其连续的范围称之为"窗口":2. "滑动"则是指这段"允许发送的范围"是可以随着发送的过程