[DRBD-user] [CASE-18] Performance of Async congestion mode too slow?

김재헌 jhkim at mantech.co.kr
Sun Feb 14 11:34:55 CET 2016

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


With the async congestion mode, local disk I/O performance is too slow than
sync replication mode.

  -  V9.0.1-1, GIT-hash: f57acfc22d29a95697e683fb6bbacd9a1ad4348e
  - VM: CentOS 7

2. conf
    protocol A;
    sndbuf-size 256K;
    on-congestion pull-ahead;
    congestion-fill 128K;

3. test
    [root at drbd9-01 drbd.d]# time cp /3GB.data  /mnt

4. result

1) Async(congestion mode)

(1) test1
real    2m50.570s
user    0m0.015s
sys    0m10.086s

(2) test2
real    2m24.809s
user    0m0.022s
sys    0m10.415s

2) Sync

(1) test1
real    0m46.559s
user    0m0.026s
sys    0m9.863s

(2) test2
real    0m58.031s
user    0m0.035s
sys    0m10.451s

I think there seems to be a problem in the following areas:
 - Before congestion, completion for local disk I/O is treated at
complete_master_bio function in drbd_sender thread.
 - But even if the congestion occured, I think, it may be treated at the
same position.
 - In other words although local disk write it is already finished, the
copy application is not receiving this completion signal and pending.
 - This application waits for this completion until got_BarrierAck receives
just requested-block from the peer.
 - I think the local I/O completion should be done as soon as detecting
congestion without waiting peer ack.

Is there any my misunderstand about drbd congestion mechanism?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linbit.com/pipermail/drbd-user/attachments/20160214/f2523a86/attachment.htm>

More information about the drbd-user mailing list