为什么我看到DRBD有很大的性能?

我看到DRBD的性能比用户手册说的要大得多。 我正在使用DRBD 8.3.7(Fedora 13 RPMs)。

我已经设置了DRBDtesting,并测量了没有DRBD的磁盘和networking的吞吐量:

dd if=/dev/zero of=/data.tmp bs=512M count=1 oflag=direct 536870912 bytes (537 MB) copied, 4.62985 s, 116 MB/s 

/是我正在testing的磁盘上的逻辑卷,安装时没有DRBD

iperf的:

 [ 4] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec 

根据吞吐量开销的预期 ,瓶颈将是较慢的,networking或磁盘和DRBD应该有3%的开销。 在我的情况下,networking和I / O似乎相当匹配。 这听起来像我应该能够达到100 MB /秒左右。

所以,用原始的drbd设备,我得到了

 dd if=/dev/zero of=/dev/drbd2 bs=512M count=1 oflag=direct 536870912 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=direct 536870912 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转64MBcaching1TB的WD驱动器

networking通过交换机连接1Gb。 我知道build议使用直接连接,但它可以使这种差别更大吗?

编辑

我只是试着监视用来试图看看发生了什么的带宽。 我使用ibmonitor ,测量平均带宽,而我运行ddtesting10次。 我有:

  • avg〜450Mbits写入ext4
  • avg〜800Mbits写入裸设备

它看起来像ext4,drbd使用的原始设备的一半左右的带宽,所以有一个瓶颈,不是networking。

为了限制带宽,“rate = 33M”为什么? 你正在使用同步协议“C”为什么?

我通常使用协议“A”和8 MB缓冲区。 对于千兆线路和繁忙的stream量,我限制为“速率= 90M”。