检查linux下服务器的带宽
设想:公司 A 有一个名为 bsdocfs 的存储服务器,并通过名为 beckham 的客户端节点装载 NFS。公司 A 确定他们需要从 bsdocfs得到更多的带宽,因为有大量的节点需要访问 bsdocfs 的共享文件系统。
实现此操作的最常用和最便宜的方式是将两个千兆网卡组合在一起。这是最便宜的,因为您通常会有一个额外的可用 NIC 和一个额外的端口。
所以采取此这个方法。不过现在的问题是?到底需要多少带宽?
千兆网卡以太网理论上的限制是 128MBit/s。这个数字从何而来,看看这些计算:
1Gb = 1024Mb;1024Mb/8 = 128MB;"b" = "bits,"、"B" = "bytes"
但实际看到的是什么呢,有什么好的测量方法呢,我推荐一个工具 iperf。可以按照以下方法获得 iperf
$ wget http://dast.nlanr.net/Projects/Iperf2.0/iperf-2.0.2.tar.gz
或者:
$ apt-get install iperf
需要在 bsdocfs 和 beckham 均可见的共享文件系统上安装此工具,或者在两个节点上编译并安装。
在 bsdocfs 上,运行:
$ iperf -s -f M
这台机器将用作服务器并以 MBit/s 为单位输出执行速度。
在 beckham 节点上,运行:
$ iperf -c bsdocfs -P 4 -f M -w 256k -t 60
两个屏幕上的结果都指示了速度是多少。在使用千兆网卡的普通服务器上,可能会看到速度约为 112MBit/s。这是 TCP 堆栈和物理电缆中的常用带宽。通过以端到端的方式连接两台服务器,每台服务器使用两个联结的以太网卡,我获得了约 220MBit/s 的带宽。
事实上,在联结的网络上看到的 NFS 约为 150-160MBit/s。这仍然表示带宽可以达到预期效果。如果看到更小的值,则应该检查是否有问题。
我最近碰到一种情况,即通过连接驱动程序连接两个使用了不同驱动程序的 NIC。这导致性能非常低,带宽约为 20MBit/s,比不连接以太网卡时的带宽还小,做bond聚合一定要使用同型号网卡。
写于: 2013年08月07日
更新于: 2015年03月22日
最新文章
- Hive_数据倾斜处理
- 使用scrapy创建工程
- 防止系统内存溢出触发OOM的一个内核参数
- (实用篇)jQuery二级联动代码
- 使用supervisor的一些注意事项
- 避免url传值字符串sjstr过长,使用from表单【隐藏域】post提交
- 【转】DBA需要的技能
- Java并发包学习--ReentrantLock
- React-native 中的触摸响应功能
- JVM学习之JVM1.6 GC详解
- Generator &; Co
- TomCat杀进程
- ER图
- Kafka启动报错 : ERROR Processor got uncaught exception
- 外部tomcat发布springboot项目步骤和异常处理:java.lang.NoClassDefFoundError: javax/el/ELManager
- 【转】Restful是什么
- numactl 修改 非统一内存访问架构 NUMA(Non Uniform Memory Access Architecture)模式
- 微信小程序实现验证码倒计时效果
- 如何彻底卸载Jenkins(Windows版本)
- Ansible 小手册系列 五(inventory 主机清单)
热门文章
- 基于python实现链式栈
- 扫描仪扫描文件处理-ABBYY自动矫正图像歪斜
- 初识 MongoDB 和 .NET Core 入门
- TimeSpan时间间隔详解
- 第三十四章 Linux常规练习题(一)参考答案
- 使用ModelForm校验数据唯一性
- 56.Qt-滚动字幕之无间隙滚动(原创)
- springmvc maven 入门及页面拿不到controller的值 显示${message} el表达式不起作用
- Java IO相关使用
- [OGeek2019]bookmanager