[DRBD-user] performance issues during a resync

Matt Kereczman matt at linbit.com
Tue Jun 28 21:05:46 CEST 2016

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

On 06/28/2016 11:39 AM, Louis Munro wrote:
>> On Jun 28, 2016, at 13:58 , Matt Kereczman <matt at linbit.com
>> <mailto:matt at linbit.com>> wrote:
>> You might want to make sure your version of 8.4.5 includes this commit:
>> http://git.drbd.org/drbd-8.4.git/commit/27ed4f3ca752b9bcc37d16edbb2791e626ab203d
> Interesting.
> I thought my problem was that the output buffer was full:

That could still be true. Looking at the "Send-Q" (via 'netstat' or 
'ss') on DRBD's TCP socket, or the IO state flags (flag #5) in 
'/proc/drbd', while IO is blocking would probably tell you.

IO flags: https://www.drbd.org/en/doc/users-guide-84/ch-admin#s-io-flags

> "DRBD’s protocol A is asynchronous, but the writing application will
> block as soon as the socket output buffer is full (see the sndbuf-size
> option in drbd.conf(5)). In that event, the writing application has to
> wait until some of the data written runs off through a possibly small
> bandwidth network link."
> So if I understand this correctly, the issue could be that my primary
> hadn’t received the ACK for the block and was rewriting it (as is
> frequent for a database).
> Is there any way I could ascertain whether that is the case before I
> recompile and reinstall (which is no trivial matter for that database)?

I would just verify that the version you have installed is newer than 
the commit with the fix. The, "GIT-hash:", in '/proc/drbd' is the commit 
from which the source was compiled.

Hope that is helpful.

: Matt Kereczman
: matt at linbit.com
: +1 (503) 573-1262 x205
: LINBIT | Keeping the Digital World Running
: DRBD -- Heartbeat -- Corosync -- Pacemaker

More information about the drbd-user mailing list