全国直销电话:4006-854-568
IT-technology
以人为本,众志成城,以“用户至上”.“服务上乘”为原则,
追求产品和服务高质量,努力实现与客户之间真诚有效的沟通,
不断地圆梦、奔跑与腾飞。
新闻动态   NEWS
有了这套 Linux 网络延迟排查方法,头饭再也不掉了!-北京赛维博信科技发展有限公司
来源:本文摘自网络,如有侵权请联系删除 | 作者:svbx001 | 发布时间: 2022-07-27 | 2706 次浏览 | 分享到:

从以上两个输出可以看出,官方 Nginx(监听 80 端口)的平均延迟为 9.19ms,而案例 Nginx(监听 8080 端口)的平均延迟为 43.6ms。从延迟分布上来看,官方 Nginx 可以在 9ms 内完成 90% 的请求;对于案例 Nginx,50% 的请求已经达到 44ms。

那么这里发生了什么呢?我们来做一些分析:

在 host1 中,让我们使用 tcpdump 捕获一些网络数据包:

$ tcpdump -nn tcp port 8080 -w nginx.pcap

现在,在 host2 上重新运行 wrk 命令

$ wrk --latency -c 100 -t 2 --timeout 2 http://192.168.0.30:8080/

当 wrk 命令完成后,再次切换回 Terminal 1(host1 的终端)并按 Ctrl+C 结束 tcpdump 命令。然后,用 Wireshark 把抓到的 nginx.pcap 复制到本机(如果 VM1(host1 的虚拟机)已经有图形界面,可以跳过复制步骤),用Wireshark 打开。

由于网络包的数量很多,我们可以先过滤一下。例如,选中一个包后,可以右键选择 “Follow”->“TCP Stream”,如下图:

然后,关闭弹出的对话框并返回 Wireshark 主窗口。这时你会发现 Wireshark 已经自动为你设置了一个过滤表达式 tcp.stream eq 24。如下图所示(图中省略了源 IP 和目的 IP):

 

服务热线

1391-024-6332