wireshark抓包问题及学习

news/2024/11/4 13:40:10/

wireshark抓包问题及学习

【场景1】服务A请求服务B经常超过3s,报错i/o timeout,想看下是否网络波动或者负载太高。需要抓包分析。

问题1:

超时时间不定,且请求量过大,一直抓了存文件里抓包文件过大。

解决学习:

每10分钟覆盖重写文件,在确认慢请求复现后,立即停止抓包。

-i 指定监听的网络接口;
-G 指定每隔N秒就重新输出至新文件;
-W 指定输出文件的最大数量,到达后会重新覆写第 1 个文件;
-w 输出结果至文件。
sudo tcpdump -i eth0 -G 600 -W 1 -w /tmp/tcpdump.pacp
ps -ef|grep tcpdump # 获取tcpdump的进程号
kill -9 PID # 停止抓包

问题2:

在服务B的主机上抓取到包后找到对应慢请求时间段后,不知如何分析,是哪里的问题。

解决学习:

网络组同事帮忙排查,异常颜色报文中,显示Window:0,分析为窗口已满,给出了调大服务器上窗口值限制的建议。

cat /proc/sys/net/ipv4/tcp_window_scaling
cat /proc/sys/net/ipv4/tcp_rmem
cat /proc/sys/net/ipv4/wmem

参考 TCP系列32—窗口管理&流控—6、TCP zero windows和persist timer
理解触发zero window的原因和过程是:服务B所在主机的TCP端口一直接收数据,但是B应用层没有及时读取,数据一直在TCP模块中缓存,最终受限于主机接收缓存的大小,window size会变为0。
应用层面排查是因为服务B加载了太多引擎,导致一笔请求会处理很长时间,从应用层面解决是关闭无用引擎,减小处理耗时。


http://www.ppmy.cn/news/1350019.html

相关文章

STM32 适合人群

STM32 适合各种需要进行嵌入式系统开发的人群,具体如下: 嵌入式系统工程师:嵌入式系统工程师可以使用 STM32 进行系统设计、硬件和软件编程、测试和部署等工作。学生和研究人员:学生和研究人员可以使用 STM32 进行实验、学习和研…

线性代数的本质——1 向量

向量是线性代数中最为基础的概念。 何为向量? 从物理上看, 向量就是既有大小又有方向的量,只要这两者一定,就可以在空间中随便移动。 从计算机应用的角度看,向量和列表很接近,可以用来描述某对象的几个不同…

利用Python和pandas库进行股票技术分析:移动平均线和MACD指标

利用Python和pandas库进行股票技术分析:移动平均线和MACD指标 介绍准备工作数据准备计算移动平均线计算MACD指标结果展示完整代码演示 介绍 在股票市场中,技术分析是一种常用的方法,它通过对股票价格和交易量等历史数据的分析,来…

备战蓝桥杯---组合数学基础1

让我们来几道高中的组合题吧: 1.我们一定有n个向下,为 2.我们挑最大的两个,条件是他们奇偶性相同,为2*A10,2; 3.用捆绑法即可。 4.我们用隔板法,为 5.问题等价于23个相同的球放到3个盒子里,每个盒子至少…

golang设置

golangci-lint 代码检查工具的集合,聚集了多种 Go 代码检查工具,如 golint 会自动查找项目中的 .golangci.yml 配置文件 会检查代码中潜在常见问题以及代码风格问题 # 文档:https://golangci-lint.run/ # https://github.com/golangci/golang…

[2024]常用的pip指令

[2024]常用的pip指令 HI,这里是肆十二,好久不见,大家! 新年好! pip是Python的包管理工具,它可以用来安装、升级、卸载Python包。以下是一些常用的pip指令: 安装包: bash复制代码…

【Python】洛谷P4325 [COCI2006-2007#1] Modulo

P4325 [COCI2006-2007#1] Modulo 题面翻译 给出 10 10 10 个整数,问这些整数除以 42 42 42 后得到的余数有多少种。 第一个样例的十个结果是 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 1,2,3,4,5,6,7,8,9,10 1,2,3,4,5,6,7,8,9,10,有 10 10 10 个不…

Vscode SSH使用云服务器访问内网主机

Vscode SSH使用云服务器访问内网主机 云服务器在配置策略中开放使用到的端口号,比如250和251作为使用。 首先在内网主机上使用ssh-copy-id root云服务器公网IP,将内网主机的公钥放到服务器上 这一步必须完成,不然下面的命令无法成功建立隧…