zoukankan      html  css  js  c++  java
  • LINUX 从网卡入手限制带宽

    事件背景

    公司内部有一条专线,连接测试环境,通过它给测试环境的机器也加上了域名解析,这也有利于更真实的模拟生产环境,从而避免一些因为网络配置等原因产生的 BUG。

    但是这两天接连收到反馈说环境卡的快打不开了,一开始想可能是人多嘛,带宽本来不高,卡卡可能正常,因为是间歇性的,就没那么在意。

    今天自己使用的时候突然发现也很卡,刷新 git 都需要等待半天。

    然后突然想到前两天将云服务器上面的 Samba 迁移到了内网,为了让同事随时随地都能使用,便开通的公网访问,连上服务器一看,果然,公网带宽全被吃完。

    排查方法 

    我的机器使用的是 CenOS 7.7,为了便于测试,我在 /tmp 目录下面放了一个文件 125M 的文件 image.tar:

    这里文件下载使用 sz 命令,查看网卡带宽占用使用 iftop 命令。

    安装依赖工具:

    yum -y install lrzsz iftop git

    安装完成后模拟下载:

    sz -y image.tar

    效果如图: 

    可以在新窗口中查看,使用 iftop 查看指定网卡的带宽使用情况:

    iftop -i ens33

    结果如图:

    可以看到带宽占用飙升!当然,如果这个服务是经过 nginx 这种中间件的服务还好,可以使用 limit 模块对请求进行各种限制。

    但是这里显然不适合,这里没有可以限制的服务,所以就只能从网卡入手如限制它。

    网卡限速

    对于这个显示,我们采用的是网上一种常用的方案,因为我的防火墙是关闭的,也没法从防火墙入手。

    这个服务的名称叫做:wondershaper

    https://github.com/magnific0/wondershaper

    可以使用 git 拉去最新版本,当然也可以使用 yum 仓库里面的,推荐使用 git 的方法:

    git clone https://github.com/magnific0/wondershaper.git

    安装:

    git clone https://github.com/magnific0/wondershaper.git
    cd wondershaper/
    make install

    如图:

    启动服务并设置开机启动:

    systemctl start wondershaper.service
    systemctl enable wondershaper.service

    查看该服务能做啥:

    wondershaper -h

    如图:

    可以看到 -d 是下载限速,-u 是上传限速,-a 是指定网卡,-c 清除限速。这就是我们最常用的三个参数。

    然后做个限速测试,我的网卡是 ens33:

    wondershaper -a ens33 -d 100 -u 100

    下载测试:

    除了使用命令配置限速,也可以修改配置文件:

    vim /etc/conf.d/wondershaper.conf

    内容如下:

    [wondershaper]
    # Adapter
    #
    IFACE="ens33"
    
    # Download rate in Kbps
    #
    DSPEED="100"
    
    # Upload rate in Kbps
    #
    USPEED="100"

    当然,也可以解除限速:

    wondershaper -c -a ens33

    测试如下:

    到这里,该功能已经足够我们解决很多问题!

  • 相关阅读:
    简单通讯聊天 群聊功能 Windows下的客户端 Linux下的epoll服务器
    Windows客户端 Linux服务器通讯 字符编码问题
    C++时间标准库时间time和系统时间的使用
    Window7系统安装Ubuntu16双系统
    Window7 系统下重新建立一个新分区
    UltraISO(软碟通) 制作U盘启动盘
    Python 列表反转显示方法
    HTML,CSS,JS个别知识点总结
    Git 创建版本库并实现本地上传数据到GitHub库
    Python爬虫数据保存到MongoDB中
  • 原文地址:https://www.cnblogs.com/Dy1an/p/12170515.html
Copyright © 2011-2022 走看看