Linux: network: 丢包分析的另一个途径 tracing

devtools/2024/9/24 5:32:20/

丢包的另一个思路,内核里有些counter的计数,记录的不准确。这个时候怎么办?就需要使用另外一个方式:/sys/kernel/debug/tracing/event/skb/kfree_skb 的跟踪功能。这个算是对counter的一个补充,可以拿来做统计分析使用。
然后收集trace文件里的内容。再根据里面的内容,来统计丢失的原因,然后根据代码去看为什么。
比如下面一个就可以看到主要的丢包原因是qdisc丢了。
#cat /root/mark.trace | awk -F’:’ ‘{print $4}’ | sort | uniq -c | more
18509 NOT_SPECIFIED
904 NO_SOCKET
123714 QDISC_DROP
632 TCP_INVALID_SEQUENCE
63 TCP_OLD_DATA

然后再根据tc qdisc的命令,查看具体的丢包原因,是因为:overlimit,超过了limit的限制。这个时候就可以尝试通过修改limit来解决问题。这里主要的问题是一个网络burst的问题。
#tc -s -d qdisc show
qdisc noqueue 0: dev lo root refcnt 2
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc fq_codel 0: dev int0 root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64
Sent 12347100936 bytes 18084492 pkt (dropped 127799, overlimits 0 requeues 3)
backlog 0b 0p requeues 3
maxpacket 30107 drop_overlimit 123714 new_flow_count 348529 ecn_mark 0
new_flows_len 0 old_flows_len 0


http://www.ppmy.cn/devtools/56834.html

相关文章

YOLOV++ 详解 | 网络结构、代码解析、YOLOV 论文阅读、初识 VID

前言 代码地址:https://github.com/YuHengsss/YOLOV 本文网络结构按 YOLOV SwinTiny 绘制,不同的模型主要差异在于 Backbone,VID 相关的部分基本相同。 Predict Input 代码基于 vid_demo。首先会读取视频中的所有帧(只能用短视频…

6.27数据分析实训任务1.1(python)

import pandas as pd import matplotlib.pyplot as plt # 读取 CSV 文件 data pd.read_csv(r"C:\Users\XXGC\Desktop\shiuxun3.csv") # 将订单创建时间转换为 datetime 类型 data["订单创建时间"] pd.to_datetime(data["订单创建时间"]) # …

使用Python进行文件批量重命名:轻松实现文件管理

哈喽,大家好,我是木头左! 引言 在日常生活和工作中,经常需要对大量的文件进行重命名。手动一个个地修改文件名不仅耗时耗力,还容易出错。为了解决这个问题,可以利用Python编程语言来实现文件的批量重命名。本文将介绍如何使用Python编写一个简单的脚本,实现对文件进行批…

一篇搞懂!LinuxCentos中部署KVM虚拟化平台(文字+图片)

🏡作者主页:点击! 👨‍💻Linux高级管理专栏:点击! ⏰️创作时间:2024年6月28日15点11分 🀄️文章质量:94分 目录 ————前言———— KVM的优点 KVM…

comsol学习笔记

comsol岩土力学与流固耦合的学习 comsol的相关视频教程 https://www.bilibili.com/video/BV1Cu4y1r7Gn/?spm_id_from333.337.search-card.all.click&vd_source02b2bad477a153eaeb9c48cbbedaf8df [这里面有讲解地应力平衡技术] https://www.bilibili.com/video/BV17C4y1j…

python最基础

基本的类 python最基础、最常用的类主要有int整形,float浮点型,str字符串,list列表,dict字典,set集合,tuple元组等等。int整形、float浮点型一般用于给变量赋值,tuple元组属于不可变对象&#…

邮件接口代码案例中的SMTP服务器配置详解!

邮件接口代码案例的编写技巧?如何集成邮件服务API? 对于开发者来说,邮件接口代码案例提供了丰富的参考和实践机会,其中SMTP服务器配置是不可或缺的一环。AoKSend将详细讲解如何配置SMTP服务器,并解析其中的重要参数和…

微服务部署上线过程总结

目录 一、找到适合自己的部署方式 二、开始部署,先安装需要的环境 2.1 梳理一下都需要安装什么软件 2.2 配置数据库环境 2.3 配置redis 2.4 配置nacos 2.5 配置rabbitmq 2.6 配置docker环境 三、环境配置好了,开始部署后端 3.1 梳理后端都…