linux – 为什么我看到DRBD会有很大的性能损失?

linux – 为什么我看到DRBD会有很大的性能损失?,第1张

概述我看到DRBD的性能比他们的用户手册说的要大得多.我正在使用DRBD 8.3.7(Fedora 13 RPMs). 我已经设置了DRBD测试并测量了没有DRBD的磁盘和网络的吞吐量: dd if=/dev/zero of=/data.tmp bs=512M count=1 oflag=direct536870912 bytes (537 MB) copied, 4.62985 s, 116 MB 我看到DRBD的性能比他们的用户手册说的要大得多.我正在使用DRBD 8.3.7(Fedora 13 RPMs).

我已经设置了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会有很大的性能损失?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/1038233.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存