工作中经常会有新的出口带宽,或是新的专线,或者已经在用网络带宽资源需要扩容,需要对这些资源进行一下带宽流量上的压力测试。以确保带宽容量是真实有效的。下面的压测方法不依赖于什么第3方专业工具,只需要使用Linux系统中的wget命令和python命令就可以了。方法如下。
1、压测服务端的设置
如果只是1对1的网络通信,那在任意一端选择一个主机当压测服务端均可。如果是1对N的网络通信,建议把压测服务端放在“1”这一侧,便于从多个客户端侧访问以模拟并发压测的流量。
下面是生成一个1GB的文件供压测下载使用:
$ cd /tmp
$ dd if=/dev/zero of=/tmp/test.file bs=1024k count=1000
因为只是临时压测,不去配置系统防火墙放行端口了,直接临时关一下防火墙,压测后再打开:
# service iptables stop
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
随机找一个没有占用的端口启动一个HTTP下载服务:
# cd /tmp
# python -m SimpleHTTPServer 7777
Serving HTTP on 0.0.0.0 port 7777 ...
2、压测客户端测的设置
如果本机上没有wget命令,请先yum -y install wget安装。
执行以下命令启动一个HTTP下载任务:
$ wget --limit-rate=1000k http://192.168.140.43:7777/test.file
--2018-03-01 11:21:23-- http://192.168.140.43:7777/test.file
正在连接 192.168.140.43:7777... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1048576000 (1000M) [application/octet-stream]
正在保存至: “test.file.4”
0% [ ] 3,430,720 1.03M/s eta(英国中部时 0% [ ] 3,487,192 1000K/s eta(英国中部时间)
注:--limit-rate参数的单位是Byte,字节。上面例子中1000k,相当于会产生8Mbit的网络带宽流量。
3、流量观测
使用cacti、zabbix等监控工具,或直接使用系统中的iftop、nethogs等命令都可以达到观察网络流量变化的目的。
本文介绍了一种简单实用的网络带宽压力测试方法,利用Linux系统中的wget命令及Python搭建临时HTTP服务来模拟真实环境下的带宽负载,适用于新出口带宽或已有网络资源的扩容测试。

280

被折叠的 条评论
为什么被折叠?



