首页 > 其他分享 >一个简单的科普-延迟与RT时间

一个简单的科普-延迟与RT时间

时间:2023-05-31 18:33:43浏览次数:43  
标签:RT IO 公里 网络 时间 时延 科普 性能 延迟

一个简单的科普-延迟与RT时间


背景

发现稍微一复杂就没人看.
这次像是写一个简单的科普文章.
主要说一下网络延迟还有网络的响应时间.
这里想通过一个题目进行引申. 

如果Skylink全球商用:
中国与美国之间的网络是走海底光纤延迟低,还是走skylink延迟低? 

关于时延的理解

我认为: 走skylink的网络延迟低. 

原因: 
海底光纤的走的是玻璃介质的光信号. 玻璃的反射率一般是1.5
那么光速就是真空光速的三分之二. 也就是20万公里秒. 

skylink走的是太空路线. 他的总链路理论上会多一些
上下线的 500km 累计1000公里的链路. 
地球半径是 6400公里,中美之间的举例应该是 pi*radius 
也就是 20096公里.
其实光纤的举例肯定比20000公里要长,因为没有光纤是走之下的.
但是简单估算按照 最短路径来估算的的话就是
20000公里.
因为走太空理论上半径应该按照 7000公里计算
距离应该是: 21980公里 加上上下行的链路合计
22000公里

所以如果是走光纤, 一次round trip 的时间是 40000公里/200000(公里/秒钟) 
也就是 200ms的时间. 

如果走skylink的话 就是 44000公里/300000(公里/秒)
不超过 150ms的时间.

所以理论上 skylink的round trip的时延会短一些. 

引申

时延就是 距离/速度. 
软件系统的时延就是
我开始要数据, 到给我数据的时间. 
B/S结构来说. 就是我click一个按钮之后, 到展现给我结果的时间. 

所有的操作都有时延. 
CPU的寄存器, 各级缓存, 内存, 磁盘, 网络都有时延. 
时延是性能的最大的敌人. 
降低时延能够提高客户的感受. 加快处理效率. 
关于网络的时延和IO的时延的理解主要在是三部分组成
1. 排队. 2.传输 3. 处理.

磁盘IO时延的理解

网络IO和磁盘IO在CPU看来其实都是IO
CPU和内存的改善主要是通过算力和带宽来表示. 
网络和磁盘的IO 考虑三方面主要是:
磁盘IO: 
1. 排队时间: 昨天提到的有一个 nr_requests 队列越长, 等待时间越长. 
2. 处理. queue_depth 队列深度的系统处理能力. 
3. 传输. 总线, SATA接口AHCI协议,或者是PCI-E,走NVMe协议的带宽以及速度. 

提高IO性能的方法就是 降低三个的时间. 

实际上IO的时间还是IOWAIT的时间. 
IOWAIT 其实包含 操作系统内核进行线程切换的部分时间, 以及SVCTIME. 
SVCTIME主要是硬件性能和压力来决定. 操作系统的上下文切换,线程切换主要是考验系统的压力和CPU的能力. 

网络IO时延的理解

网络时延其实也包含协议层处理,网卡处理, 网络传输, 业务处理等等步骤. 
本次不考虑 业务处理的步骤, 因为这个很难去评判. 

网络实验的IO可以从内核的像是zero copy ; sendfile的地方开始介入考虑. 
nginx等可以通过减少内存中的copy来提高响应速度. 当然也可以讲这一步理解为磁盘IO和内存IO. 

进入协议层之后, 主要是协议的打包封装的效率,这一块一般要考虑CPU的性能. 能否快速实现打包验证等. 
协议层里面也会涉及很多内核参数, 比如TCP/IP的拥塞检查,慢启动,滑动窗口,SACK等等特性影响性能. 

进入网卡.要看一下网卡是否支持类似于TSO,GSO,LRO,GRO的一些配置. 对性能的影响等. 
追求吞吐量,响应时间可能会降低 因为将小包进行和合并到一个大的包的处理.
追求响应时间可能就会影响吞吐量, 因为网络中可能充斥着很多低负载的包. 

网络的性能主要是看包转发率和传输速度的. 
不同的交换机性能, 网卡性能, 网线质量, 电磁环境都会影响.具体的网络性能

标签:RT,IO,公里,网络,时间,时延,科普,性能,延迟
From: https://www.cnblogs.com/jinanxiaolaohu/p/17447022.html

相关文章

  • UART-UART非常见波特率调试应用笔记
    UART非常见波特率调试应用笔记串口通信中的波特率选择,对于确保可靠的数据传输至关重要。波特率是衡量单位时间内传输的比特数,常见的波特率包括300、1200、2400、9600、115200等。不同波特率适用于不同的应用场景和通信要求。较低的波特率适用于较长的通信距离或对传输速度要求不高......
  • 5.portainer与容器监控
    9.portainer9.1.介绍官网:https://www.portainer.io/Portainer是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。9.2.安装dockerrun-d-p8000:8000-p9000:9000--nameportainer--restart=always-v/var/run/docker.s......
  • echarts入门教程(超级详细带案例)
    ————————————————版权声明:本文为CSDN博主「争儿不脱发」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/m0_55734030/article/details/127559434一.echarts的介绍1、echarts是一款基于JavaScript的数据可......
  • ES transport client底层是netty实现,netty本质上是异步方式,但是netty自身可以使用sync
    EStransportclient底层是netty实现,netty本质上是异步方式,但是netty自身可以使用sync或者await(future超时机制)来实现类似同步调用!因此,EStransportclient可以同步调用也可以异步(不过底层的socket必然是异步实现)。发送端例子对于javaclient的数据发送(这里以bulk为例),写过的人都知......
  • [Slide] 解决Slidev export导出pdf报错
    解决Slidevexport导出pdf报错问题按照Slidev的官方文档使用导出为pdf需要安装playwright-chromium官网安装方法如下:npmi-Dplaywright-chromium在我电脑上执行安装后直接执行导出命令sudoslidevexport,显示报错如下:Slidevv0.42.1(global)theme@slidev/......
  • Spring Boot中starter的原理是什么?如何实现一些starter?
    原理:核心就是@EnableAutoConfiguration注解,在该注解中有一个@Import注解。@Import注解导入了配置类:AutoConfigurationImportSelector.class。在该类中使用SpringFactoriesLoader.class加载配置文件META-INF/spring.factories。实现也starter需要实现一下步骤:autoconfigure模块......
  • 使用wireshark抓包RTP流
    最近笔者在疯狂使用wireshar抓包RTP包进行分析,偶然发现别人的wireshark可以把RTP协议进一步解析成H.264协议,就很馋。经过一番了解,发现通过如下操作可以实现想要的效果。一开始笔者的wireshark的效果是如下图这样子的 但是别人是如下图这样子的, 很明显可以......
  • 【经验分享】锐捷EVE在火狐游览器中,取消一律打开此应用的选项,重新选择默认打开应用,如S
    环境:工具:锐捷EVE模拟器,火狐游览器,SecureCRT_8.7系统版本:Windows10需求描述:描述:在选择一律使用此程序打开应用后,找不到取消的地方,也因此无法更改打开的应用。提示:若按照教程还是无法完成操作,可以进入右侧的企鹅,找我看看,或者进哔哩哔哩自行查看视频教程。实现方法-......
  • Vue computed property values was assigned to but it has no setter
    vue文件中的核心代码写法<template><div><v-select:items="filters"label="查询条件"solodenseclass="select-size"v-model="filterKey"clearable></v-sele......
  • 序列化Java对象重命名字段,@JSONField、@JsonProperty、@SerializedName
    @JSONField主要用于返回出参转换这个注解分别可以注解在实体类的属性、setter和getter方法上publicclassTest{/*注解在属性上的时候可以设置一些序列化、格式化的属性@JSONField(serialize=false)---->序列化的时候忽略这个属性@JSO......