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

前端之家收集整理的这篇文章主要介绍了linux – 为什么我看到DRBD会有很大的性能损失?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我看到DRBD的性能比他们的用户手册说的要大得多.我正在使用DRBD 8.3.7(Fedora 13 RPMs).

我已经设置了DRBD测试并测量了没有DRBD的磁盘和网络的吞吐量:

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

/是我正在测试的磁盘上的逻辑卷,在没有DRBD的情况下安装

iperf的:

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

根据Throughput overhead expectations,瓶颈将是较慢的,网络或磁盘和DRBD应该有3%的开销.在我看来,网络和I / O似乎相当匹配.听起来我应该可以达到100 MB / s左右.

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

  1. dd if=/dev/zero of=/dev/drbd2 bs=512M count=1 oflag=direct
  2. 536870912 bytes (537 MB) copied,6.61362 s,81.2 MB/s

这比我想象的慢.然后,一旦我用ext4格式化设备,我就得到了

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

这似乎不对.必须有一些其他因素在我不知道的情况下发挥作用.

global_common.conf

  1. global {
  2. usage-count yes;
  3. }
  4.  
  5. common {
  6. protocol C;
  7. }
  8.  
  9. syncer {
  10. al-extents 1801;
  11. rate 33M;
  12. }

data_mirror.res

  1. resource data_mirror {
  2. device /dev/drbd1;
  3. disk /dev/sdb1;
  4.  
  5. Meta-disk internal;
  6.  
  7. on cluster1 {
  8. address 192.168.33.10:7789;
  9. }
  10.  
  11. on cluster2 {
  12. address 192.168.33.12:7789;
  13. }
  14. }

对于硬件,我有两台相同的机器:

> 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相关文章