搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
你好赵伟
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Linux网卡bond模式_active-backup 1
2
python中attr_python中hasattr()、getattr()、setattr()函数的使用
3
深入理解Python递归:注意事项、示例及应用场景
4
cocos creator 学习: 设置scrollView 中content的偏移位置_scollview contente item设置位置
5
canvas头像裁剪上传插件cropperjs_canvas配合裁剪插件实现裁剪并上传
6
Decoupling Representation and Classifier for Lont-Tailed Recognition_decoupling representation and classifier for long-
7
python毕业设计项目源码选题(13)在线图片分享平台系统毕业设计毕设作品开题报告开题答辩PPT_python选题系统 源码
8
re:Invent 2023 | 访问的影响:女性技术人员推动云计算创新
9
tf好朋友之matplotlib的使用——legend图例的设置_fancybox lengend
10
AFL--模糊测试使用浅析_模糊测试的out怎么分析
当前位置:
article
> 正文
数据中心TCP优化:同时满足低时延和高吞吐量_tcp吞吐量级别选几级稳定
作者:你好赵伟 | 2024-03-02 22:57:24
赞
踩
tcp吞吐量级别选几级稳定
大的数据中心有成千上万台服务器,服务器之间大都用TCP来协作并传输数据,最终为用户提供服务。那数据中心的TCP工作得如何呢? 斯坦福大学和微软的两人对Bing服务的6000多台服务器集群在TCP方面的数据进行研究,用的数据是一个月的日志,包括应用、套接字级别和包级别的日志,压缩完后大概是150T的数据。
一、发现的问题
1、突发的丢包现象
2、部分包传输时延大,90%的传输RTT值小于1毫秒,10%的RTT值在1到15毫秒之间
二、可能的原因
交换机是是先存储后转发数据包的,在一个端口上缓冲的数据包太多时,会有两种结果,一是交换机会丢掉新过来的包,二是已经缓冲的包的转发时延变大。这就是造成上面问题的原因。
下面是两种场景,第一种是如下图:
多台工作机器把数据发给一台负责聚合的机器,这个有时会造成聚合机器所连接的交换机端口上缓冲太多的数据包,因缓冲区不多了而丢弃新收到的包。这些有些工作机器会出现超时重发。
另一种场景如下图:
两种机器同时给另一台机器发数据,其中一台发送的数据量很大,这样使得接收者上连的交换机端口缓冲区缓冲了大量数据包,使得另一个发送者发送的少量数据包产生比较大延迟。
三、数据中心内部传输的需求
. 要能适应高突发性流量,上面第一种场景中负责聚合机器上连端口流量经常会出现突增
. 低时延传输,象查询和任务转发必须很快传到各台机器上,不然多台机器协作完成的任务整体时间就无法满足用户的需求了
. 高吞吐量传输,需要满足大文件传输,持续数据更新等吞吐量要求
这些需求需要同时满足,但是它们之间存在冲突:
表面上看,要实现高吞吐量传输和允许端口流量突增,需要加大缓冲区大小,这样就会增大传输时延;相反,要实现低时延传输,要求缓冲空间小。
所以,目标是很少占用缓冲区的情况下实现高吞吐量传输。怎么样才能作到呢?
解决方法是采用数据中心TCP算法。
四、数据中心TCP算法介绍
交换机上的改动:
当一个端口缓冲的数据包超过某个设定的个数时,将给后续进来的包加上ECN(显式地拥塞通知)。数据包接受者会在回包给发送者时附上这些信息,这部分在现有的TCP/IP中代码中已经实现
发送者:
发送者根椐收到ACK包中带ECN标志的比例,来确定发送窗口的减少程度。比例越高,窗口减少越多。而不是传统的出现拥塞就减半的策略。这样就能保证吞吐量的需求。具本算法见后面的参考链接部分。
通过这些调整,将使得发送者适应缓冲区的占用情况,动态调整自己的发送速度,而不是等到数据包丢弃时才有所动作。
五、效果
该图中,用的是Broadcom千兆交换机,从两个不同的千兆端口,往另一个端口发送数据,这两个数据流持续时间长。对DCTCP(数据中心TCP),在交换机设置加ECN标志的阀值是20个包(30KB)。对于TCP和DCTCP在实验中都吞吐量都能用满千兆。
从图中明显看出,传统的TCP传输时交换机缓冲区占用比DCTCP大,且波动量很大。这也意味着时延要高一些。
短数据流时时延很低
保证了大数据流的高吞吐量
适应查询时的端口流量突增的情况
六、参考链接
Analysis of DCTCP: St
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/你好赵伟/article/detail/182863
推荐阅读
article
Case_3 Linux
网络
配置中的错误积累_
is
not
an
active
connection
...
错误提示以及常见问题如下Network
is
unreachablenmcli device connect ens16...
赞
踩
article
linux
系统清理
磁盘空间
_
linux
清理
磁盘空间
命令
...
linux
系统清理
磁盘空间
_
linux
清理
磁盘空间
命令
linux
清理
磁盘空间
命令
一、背景: 1...
赞
踩
article
华为
OD
机试
-
事件
推送
(C++) | 附带编码思路 【2023】_
事件
推送
华为
od
c++
...
事件
推送
题目同一个数轴X上有两个点的集合A={A1, A2, …, Am}和B={B1, B2, …, Bn},Ai和B...
赞
踩
article
常见
的
矩阵
形式_
nxn
矩阵
...
作者:桂。时间:2017-08-22 12:30:33链接:http://www.cnblogs.com/xingsha...
赞
踩
article
速卖通
API
接口...
item_get - 获得aliexpress商品详情。参数说明:num_iid:aliexpress商品ID。请求参数...
赞
踩
article
Python
文件
读写...
Python
文件
读写
Python
内置了读写
文件
的函数,用法和C是兼容的。本节介绍内容大致有:
文件
的打开/关闭、
文件
对...
赞
踩
article
with
所有
用法
python
_
python
的
with
用法
(参考)...
一、With语句是什么?有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python
的
with
语句提供了一种...
赞
踩
article
Linux
常用的基本
命令
_
linux
时间
查看
命令
...
这些
Linux
命令
非常的好用,也很常用,希望大家能够将其保存。1、显示日期的指令: date2、显示日历的指令:cal3...
赞
踩
article
.NET core3.1
Linux
下调用
接口
提示无法连接SSL,
System
.
Security
.Au...
写程序的时候调用到一个第三方的SDK,发布到服务器后在执行该
接口
时,
接口
报错,
System
.
Security
.Authe...
赞
踩
article
OpenVPN
GUI
安装
调试_
openvpen
gui
...
openvpn服务器
安装
使用_
openvpen
gui
openvpen
gui
...
赞
踩
article
直连
服务器
ping
有
丢
包
,为何
ping
服务器
会
丢
包
严重?...
一、网络自身问题 您想要连接的目标网站所在的
服务器
带宽不足或负载过大。一台
服务器
,如果带宽超过峰值的时间,外来客户再PI...
赞
踩
article
Java
面试题
全集(
上
)...
2013年年底的时候,我看到了网
上
流传的一个叫做《
Java
面试题
大全》的东西,认真的阅读了以后发现里面的很多题目是重复且...
赞
踩
article
C++案例试炼:机房
预约
系统
【附完整代码】_
学生
会议
预约
系统
,
c++
,
要求
可以
编辑
,
查找时间
...
文章目录题目考点题目考点_
学生
会议
预约
系统
,
c++
,
要求
可以
编辑
,
查找时间
学生
会议
预约
系统
,
c++
,
要求
可以
编辑
,
查找时...
赞
踩
article
Spring
MVC
中使用
JWT
配合
登录
拦截器
_
jwt
拦截器
作用...
使用
登录
拦截器
+Json Web Token来进行
登录
验证,后台为
Spring
MVC
(Boot同理)首先,为我们基于M...
赞
踩
article
C++编程 根据不同的角色,
登录
相应的UI
界面
_
c++
用户
登录
管理员
...
C++编程 根据不同的角色,
登录
相应的UI
界面
,学习到
登录
验证函数,公共数据类,编辑框内容清空,编辑框内容回删_
c++
...
赞
踩
article
【
C++
干货基地】
C++
:
函数
重载
(深度解析
Windows
和
Linux
下
函数
的
修饰
规则)...
C++
支持
函数
重载
相信大家都用过,但为什么C语言不能支持
函数
重载
C++
却可以?今天就从编译原理分析一下
C++
究竟是如何实...
赞
踩
article
数一满
分
150
分
总
分
451
东南大学
920
电子信息
通信
考研
Jenny
老师辅导班同学
,
真题大纲
,
参考书。...
数一满
分
150
分
总
分
451
东南大学
920
电子信息
通信
考研
Jenny
老师辅导班同学
,
真题大纲
,
参考书。数一满
分
150
分
总
分
...
赞
踩
article
阿里
云
和
腾讯
云
幻兽
帕鲁
服务器
详细配置价格表及部署教程_
阿里
云
盘
帕鲁
...
幻兽
帕鲁
服务器
价格多少钱?4核16G
服务器
Palworld官方推荐配置,
阿里
云
4核16G
服务器
32元1个月、96元3个月...
赞
踩
article
CentOS7
虚拟机
在
VMware
Workstation
中克隆之后
无法访问
网络
问题解决_wmwar...
本文前提是复制来源的机器能够正常访问
网络
,后因clone机器网卡冲突导致
无法访问
网络
修改网卡配置文件vim /etc/s...
赞
踩
article
QT
开发
教程:
QScroller
实现
home
界面
滑动效果...
QT
开发
教程:
QScroller
实现
home
界面
滑动效果_qscrollerqscroller ...
赞
踩
相关标签
网络
linux
运维
服务器
华为
c++
算法
华为机试
华为od
java
开发语言
爬虫
大数据
后端
python
with所有用法python
Linux常用命令集
Linux长用命令
Linux命令集手册
Linux
远程证书无效
无法连接SS
windows
直连服务器ping有丢包