美文网首页
客户端和服务器网络带宽限制方案

客户端和服务器网络带宽限制方案

作者: 明训 | 来源:发表于2021-03-22 22:19 被阅读0次

限制Windows上行流量

  • 360运行流量监控(独立版)

    可以对单独进程上行流量进行限制,无法对下行流量进行限制

  • 360网络连接查看器(独立版)

    只能查看相关的连接,无法查看上行流量和下行流量

限制服务器客户端IP访问

查看防火墙规则

[root@swk-206 ljhan2-test]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  swk-206              anywhere             limit: avg 10/sec burst 5
ACCEPT     all  --  10.3.162.13          anywhere             limit: avg 10/sec burst 5
ACCEPT     all  --  10.3.162.13          anywhere             limit: avg 1/sec burst 5
ACCEPT     all  --  swk-206              anywhere             limit: avg 1/sec burst 5

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  swk-206              anywhere             limit: avg 10/sec burst 5
ACCEPT     all  --  10.3.162.13          anywhere             limit: avg 10/sec burst 5

清空防火墙规则

[root@swk-206 ljhan2-test]# iptables -F
[root@swk-206 ljhan2-test]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
[root@swk-206 ljhan2-test]# 

使用iptables -F命令时要注意防火墙规则会清空,现场情况下需要事先检查防火墙规则,清空后记得还原

限制客户端IP访问

[root@swk-206 ljhan2-test]# iptables -A OUTPUT -d 172.31.97.182 -j DROP

此命令在服务端执行,172.31.97.182为客户端IP

限制服务器带宽

在压力测试和稳定性测试过程中常常需要测试弱网情况,需要限制某服务器网络速度(上行流量和下行流量)。

工具说明

Wondershaper 能限制你的机器与互联网的连接速度, 包括限制上传速度和限制下载速度. 并且上传速度和下载速度互不影响

下载安装

离线环境

离线下载

centos 7 下载 Wondershaper地址

https://centos.pkgs.org/7/epel-x86_64/wondershaper-1.2.1-3.el7.noarch.rpm.html

centos 6下载 Wondershaper地址

https://centos.pkgs.org/6/epel-i386/wondershaper-1.2.1-2.el6.noarch.rpm.html###

离线安装
[root@swk-206 ljhan2-test]# rpm -ivh  wondershaper-1.2.1-3.el7.noarch.rpm

或者

[root@swk-206 ljhan2-test]# rpm -Uvh  wondershaper-1.2.1-3.el7.noarch.rpm

联网环境

联网安装

由于Centos7第三方库内才有这个软件,先安装第三方库

yum install epel-release -y
yum install wondershaper -y

工具使用

网卡查看

通过ifconfig命令查看当前网卡名称

[root@swk-206 ljhan2-test]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.5.3.206  netmask 255.255.255.0  broadcast 10.5.3.255
        inet6 fe80::976:c690:d743:94c1  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4d:3d:33  txqueuelen 1000  (Ethernet)
        RX packets 4583039851  bytes 959542411581 (893.6 GiB)
        RX errors 6  dropped 6149  overruns 0  frame 0
        TX packets 4999542772  bytes 1030903520487 (960.1 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 14488950347  bytes 1490778922726 (1.3 TiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 14488950347  bytes 1490778922726 (1.3 TiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:b7:98:25  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

由此可知当前网卡名称为ens160

网卡带宽

[root@swk-206 ljhan2-test]# ethtool  ens160
Settings for ens160:
    Supported ports: [ TP ]
    Supported link modes:   1000baseT/Full 
                            10000baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: No
    Advertised link modes:  Not reported
    Advertised pause frame use: No
    Advertised auto-negotiation: No
    Speed: 10000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: off
    MDI-X: Unknown
    Supports Wake-on: uag
    Wake-on: d
    Link detected: yes
[root@swk-206 ljhan2-test]# 

限速命令

第一个参数为网卡接口名,后面两个数字分别代表上行和下行的速度(单位Kb)

一般为3个参数,第一个参数为网卡名,第二个上行速度(出)限制,第三个参数为下行速度(入)限制。

[root@swk-206 ljhan2-test]# wondershaper ens160 500 500

这里的单位是Kb,不是KB,Kb转换KB需要除8

这里的单位是kb,如果想换成平时说的KB,需要除以8

取消限速

[root@swk-206 ljhan2-test]# wondershaper clear ens160
Wondershaper queues have been cleared.

或者

[root@swk-206 ljhan2-test]# wondershaper clean clean
Wondershaper queues have been cleared.

规则查看

[root@swk-206 ljhan2-test]# wondershaper ens160
qdisc mq 0: root 
 Sent 160492874 bytes 1275722 pkt (dropped 0, overlimits 0 requeues 1) 
 backlog 0b 0p requeues 1 
class mq :1 root 
 Sent 42016147 bytes 265726 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
class mq :2 root 
 Sent 25211988 bytes 234194 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
class mq :3 root 
 Sent 11134988 bytes 112260 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
class mq :4 root 
 Sent 16011936 bytes 159551 pkt (dropped 0, overlimits 0 requeues 1) 
 backlog 0b 0p requeues 1 
class mq :5 root 
 Sent 14773932 bytes 149651 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
class mq :6 root 
 Sent 6943733 bytes 73421 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
class mq :7 root 
 Sent 35827726 bytes 197949 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
class mq :8 root 
 Sent 8572658 bytes 82971 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
[root@swk-206 ljhan2-test]# 

同类软件

  • trickle

测速服务器带宽

外网环境

speedtest-cli 是一个使用python编写的命令行脚本,通过调用speedtest.net测试上下行的接口来完成速度测试,最后我会测试运维生存时间所在服务器的外网速度

相关网址如下:

  1. https://github.com/sivel/speedtest-cli

  2. https://pypi.org/project/speedtest-cli/

  3. https://blog.csdn.net/guoxiaozhuang4/article/details/79624395

  4. https://blog.csdn.net/wangliblog/article/details/74435462

内网环境

iperf它是一款网络性能测试的工具,分为多个版本:Linux版、UNIX版、Windows版。相比之下,Windows版更新的比较慢,而UNIX和Linux版本更新起来更快,现在最新版本是2.05,而他安装简单、方便,而且测试的出的结果很靠谱。

相关网址如下:

  1. https://www.cnblogs.com/ltlinux/p/11027474.html
  2. https://downloads.es.net/pub/iperf/

检测网络延迟

网络延迟

网络延迟是指各式各样的数据在网络介质中通过网络协议(如TCP/IP)进行传输,如果信息量过大不加以限制,超额的网络流量就会导致设备反应缓慢,造成网络延迟。

1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅。
31~50ms:良好,可以正常游戏,没有明显的延迟情况。
51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿。
>100ms:差,无法正常游戏,有卡顿,丢包并掉线现象。

相关软件

qperf 可以用来测试两个节点之间的带宽(bandwidth)和延迟(latency),不仅仅可以用来测试 TCP/IP 协议的性能指标,还可以用来测试 RDMA 传输的指标。使用方法是:一个节点运行 qperf 作为服务端,另一个节点则运行 qperf 作为客户端,与服务端建立连接之后打流,获取带宽和延迟等数据。

相关网址

https://blog.csdn.net/weixin_41078837/article/details/80687842

相关文章

  • 客户端和服务器网络带宽限制方案

    限制Windows上行流量 360运行流量监控(独立版)可以对单独进程上行流量进行限制,无法对下行流量进行限制 3...

  • 跨域的解决方案

    跨域的解决方案script,img,link,iframe,不存在跨域请求限制。1、JSONP, 客户端向服务器发...

  • 防盗链

    什么是盗链客户端向服务器请求资源时,为了减少网络带宽,提升响应时间,服务器一般不会一次将所有 资源完整地传回给客...

  • FATAL ERROR: Reached heap limit

    实测生效方案: 解决方案:使用 increase-memory-limit 插件,增加node服务器内存限制

  • [Python] 极简的HTTP服务器

      游戏项目中经常会HTTP服务器给客户端提供Server List和版控信息等内容。这个服务器可能会限制外网访问...

  • NFS (Kubernetes) 高可用方案(NFS+keepa

    简介 本方案 NFS 的高可用方案,客户端为 k8s集群 ,三台文件服务器分别Master和 Slave,使用 k...

  • 初尝Netty(二):简单聊天

    客户端连接服务器后服务器显示客户端上线,客户端断开服务器连接后服务器显示客户端下线,客户端发送一条消息,服务器和其...

  • 2018-12-28

    <1> cookie cookie机制 Cookie技术是客户端的解决方案,Cookie就是由服务器发给客户端的特...

  • Tornado - 写一个SSE接口

    SSE概述 服务器向客户端推送数据,有很多解决方案。除了“轮询” 和 WebSocket,HTML 5 还提供了 ...

  • GCDAsyncSocket不通过服务器进行客户端间直接连接—i

    之前客户端与客户端间的交流是需要通过服务器的转发来进行现在该方案是:1.需要一个公共服务器来刷新在线客户端的列表2...

网友评论

      本文标题:客户端和服务器网络带宽限制方案

      本文链接:https://www.haomeiwen.com/subject/xanthltx.html