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

相关推荐
2401_8920709818 小时前
【Linux C++ 日志系统实战】LogFile 日志文件管理核心:滚动策略、线程安全与方法全解析
linux·c++·日志系统·日志滚动
lwx91485218 小时前
Linux-Shell算术运算
linux·运维·服务器
somi719 小时前
ARM-驱动-02-Linux 内核开发环境搭建与编译
linux·运维·arm开发
双份浓缩馥芮白19 小时前
【Docker】Linux 迁移 docker 目录(软链接)
linux·docker
为何创造硅基生物19 小时前
ESP32S3的RGB屏幕漂移问题
网络
好运的阿财19 小时前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
黄昏晓x19 小时前
Linux ---- UDP和TCP
linux·tcp/ip·udp
路溪非溪19 小时前
Linux驱动开发中的常用接口总结(一)
linux·运维·驱动开发
此刻觐神19 小时前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习
2401_8920709820 小时前
【Linux C++ 日志系统实战】高性能文件写入 AppendFile 核心方法解析
linux·c++·日志系统·文件写对象