我已经设置了DRBD测试并测量了没有DRBD的磁盘和网络的吞吐量:
dd if=/dev/zero of=/data.tmp bs=512M count=1 oflag=direct536870912 bytes (537 MB) copIEd,4.62985 s,116 MB/s
/是我正在测试的磁盘上的逻辑卷,在没有DRBD的情况下安装
iperf的:
[ 4] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec
根据Throughput overhead expectations,瓶颈将是较慢的,网络或磁盘和DRBD应该有3%的开销.在我看来,网络和I / O似乎相当匹配.听起来我应该可以达到100 MB / s左右.
所以,使用原始drbd设备,我得到了
dd if=/dev/zero of=/dev/drbd2 bs=512M count=1 oflag=direct536870912 bytes (537 MB) copIEd,6.61362 s,81.2 MB/s
这比我想象的慢.然后,一旦我用ext4格式化设备,我就得到了
dd if=/dev/zero of=/mnt/data.tmp bs=512M count=1 oflag=direct536870912 bytes (537 MB) copIEd,9.60918 s,55.9 MB/s
这似乎不对.必须有一些其他因素在我不知道的情况下发挥作用.
global_common.conf
global {usage-count yes;}common {protocol C;}syncer {al-extents 1801;rate 33M;}
data_mirror.res
resource data_mirror { device /dev/drbd1; disk /dev/sdb1; Meta-disk internal; on cluster1 { address 192.168.33.10:7789; } on cluster2 { address 192.168.33.12:7789; }}
对于硬件,我有两台相同的机器:
> 6 GB RAM
>四核AMD Phenom 3.2Ghz
>主板SATA控制器
> 7200 RPM 64MB缓存1TB WD硬盘
网络通过交换机连接1Gb.我知道建议直接连接,但这可能会产生很大的影响吗?
编辑
我只是试着监控用来试图看看发生了什么的带宽.当我运行dd测试10次时,我使用了ibmonitor并测量了平均带宽.我有:
> avg~450Mbits写入ext4
> avg~800Mbits写入原始设备
看起来像ext4,drbd使用的原始设备使用的带宽大约只有一半,因此存在一个不是网络的瓶颈.
解决方法 你用“rate = 33M”限制带宽为什么?你使用同步协议“C”为什么?
我通常使用协议“A”和8 MB缓冲区.对于千兆线路和繁忙的流量,我限制为“速率= 90M”.
总结以上是内存溢出为你收集整理的linux – 为什么我看到DRBD会有很大的性能损失?全部内容,希望文章能够帮你解决linux – 为什么我看到DRBD会有很大的性能损失?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)