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命令进行网络限速、丢包、延迟设置(简单使用)的更多相关文章

  1. 性能测试四十六:Linux 从网卡模拟延时和丢包的实现

    Linux 中模拟延时和丢包的实现 使用ifconfig命令查看网卡 Linux 中使用 tc 进行流量管理.具体命令的使用参考 tc 的 man 手册,这里简单记录一下使用 tc 模拟延时和丢包的命 ...

  2. Linux系列教程(九)——Linux常用命令之网络和关机重启命令

    前一篇博客我们讲解了Linux压缩和解压缩命令,使用的最多的是tar命令,因为现在很多源码包都是.tar.gz的格式,通过 tar -zcvf 能完成解压.然后对于.zip格式的文件,使用gunzip ...

  3. Linux常用命令之网络和关机重启命令

    目录 1.网络命令 一.给指定用户发送信息:write 二.给所有用户发送广播信息:wall 三.测试网络连通性:ping 四.查看和设置网卡信息:ifconfig 五.查看发送电子邮件:mail 六 ...

  4. Linux常用命令之网络命令

    write命令 write命令用于向指定登录用户终端上发送信息.通过write命令可传递信息给另一位登入系统的用户,当输入完毕后,键入EOF表示信息结束,write命令就会将信息传给对方.如果接收信息 ...

  5. linux常用命令:5网络命令

    网络命令 1. 指令名称:write 指令所在路径:/usr/bin/write 执行权限:所有用户 语法:write  <用户名> 功能描述:给用户发送信息,以Ctrl+D保存结束

  6. Linux学习笔记(8)Linux常用命令之网络命令

    (1)write write命令用于给指定用户发信息,以Ctrl+D保存结束,所在路径为/usr/bin/write,其语法格式为: write [用户名] 注:只能给在线用户发送. 例:新建ws用户 ...

  7. Linux基础命令---ntpdate网络时间服务器

    ntpdate ntpdate指令通过轮询指定为服务器参数的网络时间协议(NTP)服务器来设置本地日期和时间,从而确定正确的时间. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS ...

  8. linux常用命令-2网络相关命令

    1.ip  [选项]  操作对象{link|addr|route...} ip addr show #显示网卡IP信息 2.修改IP配置 1)     root权限 2)     cd /etc/sy ...

  9. openStack controller 管理网口TX数据量非常大 网络总是丢包

  10. dropwatch 网络协议栈丢包检查利器 与 火丁笔记

    http://blog.yufeng.info/archives/2497 源码:http://git.fedorahosted.org/cgit/dropwatch.git http://blog. ...

随机推荐

  1. USB协议详解第8讲(USB描述符-字符串和语言ID描述符)

    1.字符串描述符相关概念 字符串描述符:首先,字符串描述符就是用字符串描述一个设备的一些属性,毕竟人能看懂的是字符,而不是十六进制,描述的属性包括设备厂商名字.产品名字.产品序列号.各个配置名字.各个 ...

  2. /proc/vmalloc

    root@pita2_mr813_tina35:/# cat /proc/vmallocinfo 0xffffff80007d0000-0xffffff8000902000 1253376 load_ ...

  3. iOS Masonry使用小结

    一.Masonry简介 Masonry是一个轻量级的布局框架,它拥有自己的描述语法(采用更优雅的链式语法封装)来自动布局,具有很好可读性且同时支持iOS和Max OS X等. 二.Masonry的基本 ...

  4. HarmonyOS NEXT开发之ArkTS自定义组件学习笔记

    在HarmonyOS中,ArkTS提供了创建自定义组件的能力,允许开发者封装和复用UI代码.以下是关于自定义组件的详细介绍,包括创建自定义组件.页面和自定义组件的生命周期.自定义组件的自定义布局.冻结 ...

  5. 让容器通信变得简单:深度解析 Containerd 中的 CNI 插件

    作者:尹珉,KubeSphere Ambassador & contributor,KubeSphere 社区用户委员会杭州站站长. 引言 在上一篇文章中,我们详细讨论了 Kubernetes ...

  6. Cartographer的扫描匹配

    cartographer 代码思想解读(1)- 相关匹配 cartographer在2016年开源后一直在使用,但是一直未仔细阅读并分析其核心代码结构.目前网上可以找到许多博主对其分析和理解.其car ...

  7. 使用IntelliJ IDEA中的Live Templates自定义代码模板

    平时用IntelliJ IDEA写代码的时候,你有没有用过这些快捷方式: 输入main,会弹出自动补全完整的main结构: 输入sout,会弹出自动补全完整的System.out语句: 那么问题来了: ...

  8. php实现关键词过滤

    在php中,可以通过trie_filter扩展实现关键词的过滤,具体操作如下 1.安装libdatrie的依赖库 libiconv wget https://ftp.gnu.org/pub/gnu/l ...

  9. 记录一下opencv-contrib的编译使用

    一.来由 公司需求进行多图拼接算法,在opencv提供的Stitcher类当中默认的算子是ORB,我想尝试使用SIFT和SURF算子,经过一番查找发现这两个算子需要opencv的超集库支持--&quo ...

  10. 快速上手 KSQL:轻松与数据库交互的利器

    上次我们通过 Docker 安装了 KingbaseES 数据库,今天我们将开始学习并快速上手使用 KSQL.简单来说,KSQL 本质上是一个客户端工具,用于与数据库进行交互.启动后,我们可以像使用普 ...