掌控网络流量的利器:tcconfig

tcconfig 是一个强大的命令行工具,它简化了对网络接口和Docker容器的流量控制。通过tcconfig,你可以轻松设置带宽限制、延迟模拟、丢包率以及数据包损坏等网络环境,从而进行性能测试或优化。

项目介绍

tcconfig 包含三个主要命令:tcset(设置流量控制)、tcdel(删除流量控制)和tcshow(显示当前配置)。它提供了一种直观的方式来管理网络接口的流量规则,支持指定源/目标IP地址、端口,甚至可以针对Docker容器设定规则。

项目技术分析

tcconfig 基于 Linuxtc 命令,提供了更友好的接口。它支持以下功能:

  • 网络带宽速率限制(单位包括 Gbps, Mbps, Kbps)
  • 网络延迟模拟(微秒、毫秒、秒、分钟)
  • 数据包丢失率
  • 数据包损坏率
  • 数据包重复率
  • 数据包重排序率

不仅如此,tcconfig 还能处理特定的网络接口和Docker容器,并允许通过Python包管理器安装。

应用场景

tcconfig 可广泛应用于各种场合:

  • 软件开发:测试网络条件变化下应用的性能表现。
  • 测试与调试:模拟低速网络环境以检查应用程序的行为。
  • 容器服务:在Docker容器中实现网络限制,以控制资源消耗。
  • 教育与研究:学习网络性能优化时创建可控的实验环境。

安装包地址

依赖 :tcconfig 可通过pip在Python环境中便捷安装,也提供dpkg包用于Debian和Ubuntu系统。需要注意的是,需要预先安装iproute2iproute-tc 等相关Linux包,并启用 sch_netem 内核模块。

安装包链接https://github.com/thombashi/tcconfig/releases

使用示例

https://github.com/thombashi/tcconfig

相关推荐
Coder个人博客21 小时前
Linux6.19-ARM64 mm init子模块深入分析
linux·安全·车载系统·系统架构·系统安全·鸿蒙系统·安全架构
济61721 小时前
ARM Linux 驱动开发篇----Linux驱动开发与裸机开发的区别---- Ubuntu20.04
linux·arm开发·驱动开发
慎思知行21 小时前
Discord中创建机器人的流程
linux·服务器·机器人
enbug21 小时前
编译安卓内核:以坚果R1、魔趣MK100(Android 10)系统为例
android·linux
玉梅小洋21 小时前
Linux命令详解 —— IP 命令及永久配置
linux·运维·tcp/ip
江畔何人初21 小时前
k8s中Role与networkpolicy区别
linux·运维·云原生
Madison-No71 天前
【Linux】一切皆文件的理解 && 缓冲区 && 简易设计libc库
linux·运维·服务器
快来吃饭�1 天前
Ubuntu-20.04 gem5 构建并实现一个简单的配置脚本
linux·ubuntu·系统架构
daemon.qiang1 天前
mplayer使能支持vaapi
linux·centos
70asunflower1 天前
Docker exec 命令完全解析
linux·ubuntu·docker