搜索
查看
编辑修改
首页
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 字符界面_linux字符界面
2
PostgreSQL主从数据库数据同步_pgsql主从同步
3
2023mathorcup大数据数学建模竞赛A题完整论文讲解_2023 mathorcup a题 大数据竞赛优秀论文
4
Windows安装 Telnet 服务器_windows服务器安装telnetfuwu
5
RuntimeError: Sizes of tensors must match except in dimension 1. Got 61 and 60 in dimension 2
6
Jetbrains IDE新UI设置前进/后退导航键_idea后退按钮
7
Proxmox VE使用LVM新硬盘(多硬盘)_proxmox ve 添加硬盘
8
OpenVINO系列24-OpenVINO在树莓派上如何使用NCS2加速_树莓派ncnn开启加速
9
Pyecharts全局配置项03---DataZoomOpts
10
NAT(网络地址转换)_nat地址
当前位置:
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
7、
Spring
cloud
注册
中心
之
Nacos
_spring
cloud
nacos
注册
中心
...
Spring
Cloud使用
Nacos
作为
注册
中心
配置使用_spring
cloud
nacos
注册
中心
springclo...
赞
踩
article
[
Linux
用户空间编程-3]
:
Linux
定时
机制的几种实现
方法
_
rtc
timer
实现...
作者主页(文火冰糖的硅基工坊)
:
文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址
:
目录前言
:
定时
器的常...
赞
踩
article
linux
开发板
配置
samba
,
Debian
下为嵌入式开发配置
Samba
服务器
...
1、安装安装过程非常简单:# apt-get install
samba
系统会问你,请参考这些答案:输入工作组名,或者域...
赞
踩
article
Samba
服务
配置
文件
中涉及到
的
配置
命令
(转)...
Samba
服务
配置
文件
中涉及到
的
配置
命令
(转) 在下面所列出
的
,等号后没有内容
的
是系统没有设置或为空
的
(本人理解) ...
赞
踩
article
【网络编程】——基于
TCP
协议实现
回显
服务器
及
客户端
_
tcp
回显
聊天
代理服务
...
【网络编程】——基于
TCP
协议实现
回显
服务器
及
客户端
_
tcp
回显
聊天
代理服务
tcp
回显
聊天
代理服务
...
赞
踩
article
第七篇【传奇开心果系列】
python
的
文本
和
语音
相互转换库
技术
点案例
示例
:
Sphinx
自动电话
系统
(...
自动电话
系统
(
IVR
):
Sphinx
可以用于构建
自动电话
系统
,允许用户通过
语音
与
系统
进行交互。例如,用户可以通过
语音
输入...
赞
踩
article
大
数据
可视化技术-
echarts03
(
D3
获取
数据
)_d3读取
csv
文件绘图...
使用
D3
绘制图形,主要分为以下几个步骤完成:1、引入Echarts;2、为ECharts准备一个具备大小的Dom;3、加...
赞
踩
article
Linux
时间
命令——
显示
时间
,
日历
等_
linux
显示
分钟...
Linux
时间
命令——
显示
时间
,
日历
等_
linux
显示
分钟
linux
显示
分钟 目录 1.dat...
赞
踩
article
安装
宝塔
面板
教程(详细版)
_
手动
安装
宝塔
...
支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。新手来说很友好,起步很...
赞
踩
article
腾讯
云
安装
宝塔
Linux
面板新手教程by轻量
应用服务器
_
orcaterm
自定义
安装
宝塔
...
腾讯
云
轻量
应用服务器
宝塔
面板怎么用?轻量
应用服务器
如何
安装
宝塔
面板?在镜像中选择
宝塔
Linux
面板
腾讯
云
专享版,在轻量服...
赞
踩
article
PYTHON
读取
大
文件
_
with
读大
文件
...
1.
with
读取
大
文件
with
读取
,示例如下:
with
open(filepath) as f: for line i...
赞
踩
article
VMware
vCenter
Server
密码过期,重置密码 推荐方式_exception
in
i...
VMware
vCenter
Server
密码过期后,在登陆
vCenter
Server
管理(x.x.x.x:5480...
赞
踩
article
vmware
虚拟机
克隆
CentOS7
出现的网络问题与
解决办法
_
centos
虚拟机
迁移到另一个vmw...
1、删除/etc/sysconfig/network-scripts/ifcfg-eno16777736 的UU...
赞
踩
article
CentOS
7
中忘记
密码
后怎么办_
centos
7
忘记
密码
...
CentOS
7
中忘记
密码
后怎么办分享一下,当你忘记了
CentOS
7
的登录
密码
了怎么解决首先,打开
centos
7
,在...
赞
踩
article
python
安装
与
开发
环境
搭建
实验总结_
Python
安装
配置与基础...
一、
安装
Python
并配置
环境
1、下载地址:http://
python
.org/官网直接放出的是3.6和2.7的下载链接...
赞
踩
article
SpringMVC
使用
JWT
简单验证_
springmvc
jwt
...
JWT
是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。
JWT
作为一个开放的标准(RFC 7519),...
赞
踩
article
无需
公网
IP
,在家
SSH
远程
连接公司内网
服务器
「
cpolar
内网穿透」_无
固定
ip
远程
访问
服务器
...
本次教程我们来实现如何在外
公网
环境下,
SSH
远程
连接家里/公司的Linux CentOS
服务器
,无需
公网
IP
,也不需要设...
赞
踩
article
linux 文件编程—
open
/
read
/
write
_o_
rdwr
|o_
creat
,0600...
open
头文件#include
#include
#include <...
赞
踩
article
计算机网络
基础知识
笔记-9_
植入
威胁
...
网络安全网络安全的五大原则一般对信息系统安全的认知与评判方式,包括五项原则:私密性、完整性、身份鉴别、授权、不可否认性。...
赞
踩
article
《
银幕上
的
编码传奇
:
计算机科学
与
科技
精神
的
光影盛宴
》
...
它们以各自
的
独特视角,构筑了一幅幅生动而深刻
的
科技
画卷,带领我们穿越虚拟
与
现实
的
边界,探索互联网创业
的
艰辛历程,并揭示时...
赞
踩
相关标签
spring cloud
java
spring
nacos
linux
定时器
linux 开发板配置samba
网络
tcp/ip
服务器
python
语音识别
人工智能
机器学习
自动化
运维
腾讯云
云计算
VCSA
vmware
passwd