DRBD - 协议 A 比协议 B 和 C 慢

DRBD - 协议 A 比协议 B 和 C 慢

我有一个简单的问题,但又不那么简单:为什么在我的设置中协议 A 比协议 B 和 C 慢?我的意思是,我已经被这个问题困扰了一个多星期,尝试了“所有”配置,尝试了 max-buffers max-epoch-size、sndbuf-size、rcvbuf-size 等等。

我理解协议 A 根本不需要等待数据到达另一个节点,协议 B 认为写入在到达该节点后立即完成,而协议 C 仅当写入第二个节点时才完成。所以,基本上,从速度上看应该是这样的:A > B > C,对吧?

此外,我了解缓冲区/缓存问题,即在某个时候,协议 B(主要是协议 A)会由于完全使用缓存而失去性能,因此“堆栈”会变得拥挤。因此,大量的写入(主要是较大的写入)应该会使它变慢。我进行了大量测试,使用 hdparm、dd、bonnie++、iozone(一大堆工作表,几天的工作)对其进行了基准测试,但它仍然没有意义;即使是小文件/写入也会因协议 A 和 B 而变慢。

有人可以帮助我让它按预期进行吗?

谢谢你们。

两台服务器均全新安装了 Debian 9。DRBD 与 LVM 协同工作。global_common.conf 如下(使用了一些注释项)

  global {
    usage-count no;
    # minor-count dialog-refresh disable-ip-verification
    # cmd-timeout-short 5; cmd-timeout-medium 121; cmd-timeout-long 600;
}

common {

     syncer {
        #rate 10M;
            # "hot area" aumenta o tiempo de resync pmas diminui os updates nos metadados
        # area pequena synca mais rapido mas a replicação fica mais lenta
        #al-extents 65533; #maximo
    }


    handlers {
        #Cria snapshot automaticamente assim que uma sincronização é iniciada
        #before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh";
        #remove o snapshot em caso de sucesso na resync
                #after-resync-target "/usr/lib/drbd/unsnapshot-resync-target-lvm.sh";
        # a reversão é um snapshot comum: lvconvert -M
    }

    startup {

        #wfc-timeout 0;
        #degr-wfc-timeout 15;
    }   

    options {

    }

    disk {
        #on-io-error detach;    

    }

    net {
        protocol C;

        #sndbuf-size          8000k;
        #rcvbuf-size          8000k;
            #timeout                   60;
            #connect-int               10;
            #ping-int                  10;
            #ping-timeout               5;
            #max-buffers                20000;
            #max-epoch-size             20000;
            #cram-hmac-alg         "sha1";
            #shared-secret  "appname-drbd";

    }
}

相关内容