linux tc命令进行网络限速、丢包、延迟设置(简单使用)
linux自带tc命令
版本不是很低的linux系统都自带tc
如果你的系统不带这个命令,建议使用类似括号中的命令进行安装 (yum -y install iproute)
TC 中使用下列的缩写表示相应的速率
Kbps:kiIobytes per second,即 “千字节每秒”
Mbps:megabytes per second,即 “兆字节每秒 ”
Kbit:kilobits per second,即 “千比特每秒”
Mbit:megabits per second,即 “兆比特每秒”
对eth0网卡限制带宽
tc qdisc add dev eth0 root tbf rate 500Kbit latency 50ms burst 15kb
#将eth0网卡限速到500Kbit/s,15bk的buffer,TBF最多产生50ms的延迟
#tbf是Token Bucket Filter的简写,适合于把流速降低到某个值
对eth0网卡进行延迟设置
tc qdisc add dev eth0 root netem delay 150ms
#设置eth0包延迟 150ms
tc qdisc change dev eth0 root netem delay 150ms 10ms
#设置eth0包延迟 150ms ± 10ms
tc qdisc change dev eth0 root netem delay 150ms 10ms 25%
#设置eth0包延迟 150ms ± 10ms,下一个随机元素取决于上一个的25%(约)
tc qdisc change dev eth0 root netem gap 5 delay 10ms
#设置eth0包延迟每5个包有一个包延迟10ms
ping该主机看延迟的网速
设置eth0丢包率
tc qdisc add dev eth0 root netem loss 50%
#设置eth0丢包率为50%
在另一台主机上对该主机进行长ping,检查丢包率
列出已有的策略
tc -s qdisc ls dev eth0
tc -q qdisc ls dev eth0
tc qdisc del dev eth0 root
解除eth0网卡的限制
#tc qdisc del dev eth root
启动时自动加载带宽限制策略
需要加什么样的限制就把命令
vim /etc/rc.local
加入:
/sbin/tc qdisc add dev eth0 root tbf rate 500kbit latency 50ms burst 15kb
保存后执行下面的命令后生效:
source /etc/rc.local
速度测试
git clone https://github.com/sivel/speedtest-cli.git
#进入到speedtest-cli目录
cd speedtest-cli/
./speedtest.py
Retrieving speedtest.net configuration...
Testing from China Telecom (117.*.*.*)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by 安徽移动5G (Hefei) [320.38 km]: 18.698 ms
Testing download speed................................................................................
Download: 213.36 Mbit/s
Testing upload speed................................................................................................
Upload: 35.82 Mbit/s
linux tc命令进行网络限速、丢包、延迟设置(简单使用)的更多相关文章
- 性能测试四十六:Linux 从网卡模拟延时和丢包的实现
Linux 中模拟延时和丢包的实现 使用ifconfig命令查看网卡 Linux 中使用 tc 进行流量管理.具体命令的使用参考 tc 的 man 手册,这里简单记录一下使用 tc 模拟延时和丢包的命 ...
- Linux系列教程(九)——Linux常用命令之网络和关机重启命令
前一篇博客我们讲解了Linux压缩和解压缩命令,使用的最多的是tar命令,因为现在很多源码包都是.tar.gz的格式,通过 tar -zcvf 能完成解压.然后对于.zip格式的文件,使用gunzip ...
- Linux常用命令之网络和关机重启命令
目录 1.网络命令 一.给指定用户发送信息:write 二.给所有用户发送广播信息:wall 三.测试网络连通性:ping 四.查看和设置网卡信息:ifconfig 五.查看发送电子邮件:mail 六 ...
- Linux常用命令之网络命令
write命令 write命令用于向指定登录用户终端上发送信息.通过write命令可传递信息给另一位登入系统的用户,当输入完毕后,键入EOF表示信息结束,write命令就会将信息传给对方.如果接收信息 ...
- linux常用命令:5网络命令
网络命令 1. 指令名称:write 指令所在路径:/usr/bin/write 执行权限:所有用户 语法:write <用户名> 功能描述:给用户发送信息,以Ctrl+D保存结束
- Linux学习笔记(8)Linux常用命令之网络命令
(1)write write命令用于给指定用户发信息,以Ctrl+D保存结束,所在路径为/usr/bin/write,其语法格式为: write [用户名] 注:只能给在线用户发送. 例:新建ws用户 ...
- Linux基础命令---ntpdate网络时间服务器
ntpdate ntpdate指令通过轮询指定为服务器参数的网络时间协议(NTP)服务器来设置本地日期和时间,从而确定正确的时间. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS ...
- linux常用命令-2网络相关命令
1.ip [选项] 操作对象{link|addr|route...} ip addr show #显示网卡IP信息 2.修改IP配置 1) root权限 2) cd /etc/sy ...
- openStack controller 管理网口TX数据量非常大 网络总是丢包
- dropwatch 网络协议栈丢包检查利器 与 火丁笔记
http://blog.yufeng.info/archives/2497 源码:http://git.fedorahosted.org/cgit/dropwatch.git http://blog. ...
随机推荐
- USB协议详解第8讲(USB描述符-字符串和语言ID描述符)
1.字符串描述符相关概念 字符串描述符:首先,字符串描述符就是用字符串描述一个设备的一些属性,毕竟人能看懂的是字符,而不是十六进制,描述的属性包括设备厂商名字.产品名字.产品序列号.各个配置名字.各个 ...
- /proc/vmalloc
root@pita2_mr813_tina35:/# cat /proc/vmallocinfo 0xffffff80007d0000-0xffffff8000902000 1253376 load_ ...
- iOS Masonry使用小结
一.Masonry简介 Masonry是一个轻量级的布局框架,它拥有自己的描述语法(采用更优雅的链式语法封装)来自动布局,具有很好可读性且同时支持iOS和Max OS X等. 二.Masonry的基本 ...
- HarmonyOS NEXT开发之ArkTS自定义组件学习笔记
在HarmonyOS中,ArkTS提供了创建自定义组件的能力,允许开发者封装和复用UI代码.以下是关于自定义组件的详细介绍,包括创建自定义组件.页面和自定义组件的生命周期.自定义组件的自定义布局.冻结 ...
- 让容器通信变得简单:深度解析 Containerd 中的 CNI 插件
作者:尹珉,KubeSphere Ambassador & contributor,KubeSphere 社区用户委员会杭州站站长. 引言 在上一篇文章中,我们详细讨论了 Kubernetes ...
- Cartographer的扫描匹配
cartographer 代码思想解读(1)- 相关匹配 cartographer在2016年开源后一直在使用,但是一直未仔细阅读并分析其核心代码结构.目前网上可以找到许多博主对其分析和理解.其car ...
- 使用IntelliJ IDEA中的Live Templates自定义代码模板
平时用IntelliJ IDEA写代码的时候,你有没有用过这些快捷方式: 输入main,会弹出自动补全完整的main结构: 输入sout,会弹出自动补全完整的System.out语句: 那么问题来了: ...
- php实现关键词过滤
在php中,可以通过trie_filter扩展实现关键词的过滤,具体操作如下 1.安装libdatrie的依赖库 libiconv wget https://ftp.gnu.org/pub/gnu/l ...
- 记录一下opencv-contrib的编译使用
一.来由 公司需求进行多图拼接算法,在opencv提供的Stitcher类当中默认的算子是ORB,我想尝试使用SIFT和SURF算子,经过一番查找发现这两个算子需要opencv的超集库支持--&quo ...
- 快速上手 KSQL:轻松与数据库交互的利器
上次我们通过 Docker 安装了 KingbaseES 数据库,今天我们将开始学习并快速上手使用 KSQL.简单来说,KSQL 本质上是一个客户端工具,用于与数据库进行交互.启动后,我们可以像使用普 ...