BHS*_*BHS 6 linux performance drbd
我看到 DRBD 对性能的影响比他们的用户手册说的要大得多。我使用的是 DRBD 8.3.7(Fedora 13 RPM)。
我已经设置了一个 DRBD 测试并测量了没有 DRBD 的磁盘和网络的吞吐量:
dd if=/dev/zero of=/data.tmp bs=512M count=1 oflag=direct
536870912 bytes (537 MB) copied, 4.62985 s, 116 MB/s
Run Code Online (Sandbox Code Playgroud)
/ 是我正在测试的磁盘上的逻辑卷,没有 DRBD 挂载
iperf:
[ 4] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec
Run Code Online (Sandbox Code Playgroud)
根据吞吐量开销预期,瓶颈将是较慢的,网络或磁盘和 DRBD 应该有 3% 的开销。就我而言,网络和 I/O 似乎非常匹配。听起来我应该能够达到 100 MB/s 左右。
所以,使用原始 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
Run Code Online (Sandbox Code Playgroud)
这比我预期的要慢。然后,一旦我用 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
Run Code Online (Sandbox Code Playgroud)
这似乎不对。一定有其他一些我不知道的因素在起作用。
global_common.conf
global {
usage-count yes;
}
common {
protocol C;
}
syncer {
al-extents 1801;
rate 33M;
}
Run Code Online (Sandbox Code Playgroud)
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;
}
}
Run Code Online (Sandbox Code Playgroud)
对于硬件,我有两台相同的机器:
网络是通过交换机连接的 1Gb。我知道建议使用直接连接,但这会产生很大的不同吗?
已编辑
我只是尝试监视用于尝试查看发生了什么的带宽。当我运行 dd 测试 10 次时,我使用了ibmonitor并测量了平均带宽。我有:
看起来对于 ext4,drbd 使用的带宽大约是原始设备使用的带宽的一半,因此存在一个不是网络的瓶颈。
你用“rate=33M”限制带宽,为什么?你为什么使用同步协议“C”?
我通常使用协议“A”和 8 MB 缓冲区。对于千兆线路和大流量,我限制为“rate = 90M”。
归档时间: |
|
查看次数: |
4993 次 |
最近记录: |