Linux性能优化-网络篇-网络延迟

文章目录


前言

很多时候,我们听到大家抱怨,网好卡啊,请求好慢啊,这些其实都是网络延迟比较大的原因。这篇文字带你了解网络延迟是什么,如何测试网络延迟,如何排查网络延迟的问题。


一、网络延迟

网络延迟

通常,我们常用的是双向的往返通信延迟,即从原地址到目的地址,然后又从目的地址返回响应,这个往返全程所用的时间。

应用程序延迟

另外一个指标是应用程序延迟,即从应用程序接受到请求,再到发回响应,全程所用的时间。应用程序延迟,是网络数据传输时间加上数据处理时间的和。

二、网络延迟测试

1.ping命令

我们通常使用ping,命令来测试远程主机的连通和延迟。

ping基于ICMP协议,通过计算ICMP的响应报文和ICMP的请求报文的时间差,获取往返延迟。

bash 复制代码
# -c3 表示发送三次ICMP包后停止。
[root@test-90 data]# ping -c3 www.163.com
PING www.163.com.w.kunluncan.com (125.38.11.222) 56(84) bytes of data.
64 bytes from no-data (125.38.11.222): icmp_seq=1 ttl=128 time=10.0 ms
64 bytes from no-data (125.38.11.222): icmp_seq=2 ttl=128 time=11.9 ms
64 bytes from no-data (125.38.11.222): icmp_seq=3 ttl=128 time=9.98 ms

--- www.163.com.w.kunluncan.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 9.981/10.677/11.952/0.906 ms

# 上面示例显示,发送了三个网络包,收到3个响应,没有丢包。平均往返延迟(RTT)结果是10.677ms

2.hping3命令

当网络服务禁止了ICMP,就无法再通过ping命令测试网络可用性和延时,还可以使用hping3命令。

hping3 安装,Centos7可以使用 yum install hping3安装,使用epel源。

bash 复制代码
[root@test-90 data]# hping3 -c 3 -S -p 80 www.163.com
HPING www.163.com (ens33 125.38.11.222): S set, 40 headers + 0 data bytes
len=46 ip=125.38.11.222 ttl=128 id=18320 sport=80 flags=SA seq=0 win=64240 rtt=9.5 ms
len=46 ip=125.38.11.222 ttl=128 id=18321 sport=80 flags=SA seq=1 win=64240 rtt=12.2 ms
len=46 ip=125.38.11.222 ttl=128 id=18322 sport=80 flags=SA seq=2 win=64240 rtt=12.1 ms

--- www.163.com hping statistic ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 9.5/11.3/12.2 ms

3. traceroute 命令

bash 复制代码
# --tcp 表示使用tcp协议, -p 表示端口号  -n 表示不对结果中的IP地址执行反向域名解析。
[root@test-90 data]# traceroute --tcp -p 80 -n  www.163.com
traceroute to www.163.com (125.38.11.222), 30 hops max, 60 byte packets
 1  192.168.37.2  0.893 ms  0.898 ms  0.674 ms
 2  125.38.11.222  7.729 ms  9.204 ms  8.071 ms

相关推荐
吃饭睡觉发paper7 分钟前
用于飞行时间深度去噪的空间层次感知残差金字塔网络
网络·人工智能·机器学习·计算机视觉
天赐细莲11 分钟前
(Linux) WSL 通过 VSCode 连接不执行 profile 问题(登录Shell问题)
linux·运维·vscode
咬_咬12 分钟前
Linux时间轮定时器
linux·运维·网络·定时器·timerfd
LCG元23 分钟前
Linux Shell脚本编程实战:自动备份网站文件和数据库,并定期清理过期备份
linux
cliproxydaili27 分钟前
IP 汇总名单
大数据·网络
Liu1bo34 分钟前
【MySQL】表的约束
linux·数据库·mysql
dalianwawatou1 小时前
U盘配置ubuntu服务器-安装docker-镜像安装gitlab并且能够使用
运维·服务器·ubuntu
MC皮蛋侠客1 小时前
Ubuntu禁用系统手势,阻止应用程序异常最小化
linux·运维·qt·ubuntu
BUTCHER51 小时前
【原理扫描】SSL/TLS 服务器瞬时 Difie-Hellman 公共密钥过弱
java·服务器·网络·ssl
颇有几分姿色1 小时前
Ubuntu 系统安装教程(二):系统安装
linux·运维·ubuntu