Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
Hi, With the async congestion mode, local disk I/O performance is too slow than sync replication mode. 1.version - 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? Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.linbit.com/pipermail/drbd-user/attachments/20160214/f2523a86/attachment.htm>