免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4017 | 回复: 5
打印 上一主题 下一主题

给出一个测试你服务器上流量和带宽的程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-19 09:29 |只看该作者 |倒序浏览
给出一个测试你服务器上流量和带宽的程序。

为了测试出带宽,你必须让服务器满负荷传输,看最大的used_bandwidth可以是多少。


  1. if [ "$1" = "" ]; then
  2. echo usage:
  3. echo nr TIME_IN_SECOND
  4. echo for example:
  5. echo ./nr 10
  6. exit

  7. fi

  8. echo see network speed. by seeker

  9. TXDATA=`ifconfig | grep "TX bytes:" | head -n 1 | awk -F':' '{print $3}' | awk -F' ' '{print $1}'`
  10. RXDATA=`ifconfig | grep "RX bytes:" | head -n 1 | awk -F':' '{print $2}' | awk -F' ' '{print $1}'`

  11. TIME=$1
  12. sleep $1

  13. TXDATA1=`ifconfig | grep "TX bytes:" | head -n 1 | awk -F':' '{print $3}' | awk -F' ' '{print $1}'`
  14. RXDATA1=`ifconfig | grep "RX bytes:" | head -n 1 | awk -F':' '{print $2}' | awk -F' ' '{print $1}'`

  15. let TX=(TXDATA1-TXDATA)
  16. let RX=(RXDATA1-RXDATA)
  17. let RATET=TX/TIME/1024
  18. let RATER=RX/TIME/1024
  19. let KTX=TX/1024
  20. let KRX=RX/1024
  21. let BWT=RATET*8
  22. let BWR=RATER*8
  23. echo Sent: $KTX K,  $RATET K/S,  used_bandwidth: $BWT K
  24. echo Recv: $KRX K,  $RATER K/S,  used_bandwidth: $BWR K

复制代码

[ 本帖最后由 思一克 于 2007-4-19 09:30 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-04-20 14:41 |只看该作者
版主,能不能给解释一下!

论坛徽章:
0
3 [报告]
发表于 2007-04-20 14:43 |只看该作者
小声地说一句:这个移到 Shell 版或许更好?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2007-04-20 14:45 |只看该作者
原帖由 思一克 于 2007-4-19 09:29 发表

为了测试出带宽,你必须让服务器满负荷传输

晕哦~
这个不叫测试吧?
这个最多叫“获取”

论坛徽章:
0
5 [报告]
发表于 2007-04-20 15:17 |只看该作者
随便叫什么吧。因为前面有C版有帖子关于100M网络的速度问题,所以才有此帖子。

很简单,就是根据命令ifconfig 的输出

eth0      Link encap:Ethernet  HWaddr 00:18:8B:37:A3:A0
          inet addr:219.234.95.124  Bcast:219.234.95.255  Mask:255.255.255.0
          inet6 addr: fe80::218:8bff:fe37:a3a0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:44924165 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47169593 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1644584053 (1.5 GiB)  TX bytes:3022995733 (2.8 GiB)
          Interrupt:169 Memory:f8000000-f8011100

查找RX Bytes: 和 TX bytes: 的数字,过10(参数)秒后再看一次。
相减,得到这10秒内传输的字节数字。除10就是每秒字节数。


  1. TXDATA=`ifconfig | grep "TX bytes:" | head -n 1 | awk -F':' '{print $3}' | awk -F' ' '{print $1}'`
复制代码

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2007-04-20 15:33 |只看该作者
如果仅仅是获取网卡流量
LINUX上读取/proc/net/dev更加方便
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP