[DRBD-user] SOLVED - kind of (Fwd: slow drbd over tripple gigabit bonding balance-rr)

2009-08-04 Thread Zoltan Patay
turns out, once I did the testing with 1M block size instead of 10M, it was
showing the performance I expected.

sync; echo 3 > /proc/sys/vm/drop_caches # free pagecache, dentries and
inodes

sync;dd if=/dev/zero of=/vz/blob bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 4.04935 seconds, 259 MB/s

I wonder if "max-buffers " and "max-epoch-size" set to 2048 has anything to
do with this.

z

PS: I want to thank Mark for replying to the post.

-- Forwarded message --
From: Zoltan Patay 
Date: Thu, Jul 30, 2009 at 3:57 AM
Subject: slow drbd over tripple gigabit bonding balance-rr
To: drbd-user@lists.linbit.com


using "dd if=/dev/zero of=/dev/drbd26 bs=10M count=100" I get:

drbd connected
1048576000 bytes (1.0 GB) copied, 13.6526 seconds, 76.8 MB/s
1048576000 bytes (1.0 GB) copied, 13.4238 seconds, 78.1 MB/s
1048576000 bytes (1.0 GB) copied, 13.2448 seconds, 79.2 MB/s

drbd disconnected
1048576000 bytes (1.0 GB) copied, 4.04754 seconds, 259 MB/s
1048576000 bytes (1.0 GB) copied, 4.06758 seconds, 258 MB/s
1048576000 bytes (1.0 GB) copied, 4.06758 seconds, 258 MB/s

The three (intel) gigabit PCIe cards are bonded with balance-rr, and iperf
gives me:

iperf 0.0-10.0 sec  2.52 GBytes  2.16 Gbits/sec (276.48MB/s)

So clearly there is enough speed for both on the network and in the backend
to support higher speeds. The boxes are with cross-over back-to-back
no-switch.

version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by p...@fat-tyre,
2008-12-18 15:26:13

global { usage-count yes; }
   common { syncer { rate 650M; } }

resource OpenVZ_C1C2_B_LVM5 {
  protocol C;
  startup {degr-wfc-timeout 120;}
  disk {on-io-error
detach;no-disk-flushes;no-md-flushes;no-disk-drain;no-disk-barrier;}
  net {
cram-hmac-alg sha1;
shared-secret "OpenVZ_C1C2_B";
allow-two-primaries;
after-sb-0pri discard-zero-changes;
after-sb-1pri discard-secondary;
after-sb-2pri disconnect;
rr-conflict disconnect;
timeout 300;
connect-int 10;
ping-int 10;
max-buffers 2048;
max-epoch-size 2048;
  }
  syncer {rate 650M;al-extents 257;verify-alg crc32c;}
  on c1 {
device /dev/drbd26;
disk   /dev/mapper/xenvg-OpenVZ_C1C2_B_LVM5;
address10.0.10.10:7826;
meta-disk  /dev/mapper/xenvg-DRBD_MetaDisk[26];
  }
  on c2 {
device/dev/drbd26;
disk   /dev/mapper/xenvg-OpenVZ_C1C2_B_LVM5;
address   10.0.10.20:7826;
meta-disk  /dev/mapper/xenvg-DRBD_MetaDisk[26];
  }
}


Some of the settings above are unsafe (no-disk-flushes;no-md-flushes), they
were turned on to see if it makes any different (did not)

The two boxes are quad core 3GHz Nehalems, 12GB  tripple channel DDR3-1600,
6 western digital caviar black 750GB hdds, in RAID10 with LVM on top of it,
the DRBD backends are carved out of LVM. Three separate Intel gigabit PCIe
cards are bonded with ballance-rr, and connects them back-to-back, with a
forth gigabit card in each box (onboard) toward the outside.

The OS is Debian Etch + Backports with some custom deb packages rolled by
me. The machine is a Xen Dom0, kernel: 2.6.26, xen: 3.2.1, drbd: 8.3.0

Thanks any help / hint in advance,

z
___
drbd-user mailing list
drbd-user@lists.linbit.com
http://lists.linbit.com/mailman/listinfo/drbd-user


Re: [DRBD-user] slow drbd over tripple gigabit bonding balance-rr

2009-08-04 Thread Zoltan Patay
Mark,

syncer rate does not define the overall drbd performance between the two
nodes, but rather it designates a limit for re-syncing, to assure normal
system performance while it is happening in the backgrounnd (so your re-sync
processes dont eat up all your bandwidth between your drbd nodes, and normal
drbd usage can happen).

It has nothing to do with the working performance of a single drbd device
pair see more here:
http://www.drbd.org/users-guide/s-configure-syncer-rate.html

Originally it was set to be 80M in this case, but probably it should be even
lower, since despite the iperf results, I never saw a drbd go over the
117MB/s (single gigabit link hitting performance wall), so it probably
should be as low as 35MB/s

As I wrote before, the two boxes have three gigabit links dedicated for
DRBD, these are bonded using the balance-rr mode, and with arp ip monitoring
(basically I can unplug any of the cables between the nodes, in any order,
and plug them back in, as long there is a single link, the connection is
uninterrupted, also depending how many gigabit links are allive the
bandwidth scales up with every additional connection, pretty swift actually)

What I would like to see is higher write rates. I know how the different
bondings work, I also know balance-rr is the only where a single connection
cab scale beyond the capacity of a single card, and it clearly happens when
I benchamrk it with iperf, but never saw it in DRBD.

Now, since this is a Xen Dom0, I have been able to do more testing in the
DomU itself (half of the testing was done before I wrote to the mailing
list)

In the paravirtualized DomU, the drbd devices are inported as xvdb to xvdf,
and they were used:

1) as phisical volumes for the LVM in the DomU itseld, setting up the
logical volumes using striping in LVM

2) as part of a raid0 stripe

3) raid0 stripe in above as a phisical volume for LVM

There is no signofocant difference in either mode.

I have even tested a RAID_0 stripe over the drbd volumes in the Xen Dom0,
same results.

I also know about the LVM default block device performance issues, and
"blockdev --setra" is used as a workaround on all levels

Whenever I disconnect drbd, performance is as expected (close to the raid10
performance measured)

The reason this is so annoying, is because on both the DRBD wiki and in the
mail list there are hints that even over a dual gigabit link in ballance-rr
performance is much better, see them yourself:

http://www.drbd.org/home/wiki/?tx_drwiki_pi1[keyword]=performance

http://www.nabble.com/DRBD-Performance-td18745802.html

http://lists.linbit.com/pipermail/drbd-user/2008-July/009893.html


Also if it not clear, this is a nested LVM (with the DRBD's being the
phisical volumes for LVM in the paravirtualized xen instance, DRBD is
running in Dom0):


DRBD<-|  |<-xvdb (PV)|
Xen Dom0 6XHDD<-RAID10<-LVM<-DRBD<-|XenDomU|<-xvdc
(PV)|<-LVM<file ystems

DRBD<-|  |<-xvdd|(PV)|

As a side note, I am a seasoned sysadmin of fifteen years and use linux
practically for everything for the last  ten years, work with it at least
twelve hours a day (mostly more than that, I am lucky to do for living what
I love, and work and fun are the same)

So, anybody knows how those magical numbers were achived under those links?

z

On Thu, Jul 30, 2009 at 9:18 AM, Mark Watts wrote:

> On Thu, 2009-07-30 at 03:57 -0400, Zoltan Patay wrote:
> > using "dd if=/dev/zero of=/dev/drbd26 bs=10M count=100" I get:
> >
> > drbd connected
> > 1048576000 bytes (1.0 GB) copied, 13.6526 seconds, 76.8 MB/s
> > 1048576000 bytes (1.0 GB) copied, 13.4238 seconds, 78.1 MB/s
> > 1048576000 bytes (1.0 GB) copied, 13.2448 seconds, 79.2 MB/s
> >
> > drbd disconnected
> > 1048576000 bytes (1.0 GB) copied, 4.04754 seconds, 259 MB/s
> > 1048576000 bytes (1.0 GB) copied, 4.06758 seconds, 258 MB/s
> > 1048576000 bytes (1.0 GB) copied, 4.06758 seconds, 258 MB/s
> >
> > The three (intel) gigabit PCIe cards are bonded with balance-rr, and
> > iperf gives me:
> >
> > iperf 0.0-10.0 sec  2.52 GBytes  2.16 Gbits/sec (276.48MB/s)
> >
> > So clearly there is enough speed for both on the network and in the
> > backend to support higher speeds. The boxes are with cross-over
> > back-to-back no-switch.
> >
> > version: 8.3.0 (api:88/proto:86-89)
> > GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by
> > p...@fat-tyre, 2008-12-18 15:26:13
> >
> > global { usage-count yes; }
> >common { syncer { rate 650M; } }
>
> Try actually setting this to a sensible value for 3 x 1Gbit links.
> eg: 300M
>
> > resource OpenVZ_C1C2_B_LVM5 {
> >   protocol C;
> >   startup {degr-wfc-timeout 120;}
> >   disk {on-io-e

[DRBD-user] slow drbd over tripple gigabit bonding balance-rr

2009-07-30 Thread Zoltan Patay
using "dd if=/dev/zero of=/dev/drbd26 bs=10M count=100" I get:

drbd connected
1048576000 bytes (1.0 GB) copied, 13.6526 seconds, 76.8 MB/s
1048576000 bytes (1.0 GB) copied, 13.4238 seconds, 78.1 MB/s
1048576000 bytes (1.0 GB) copied, 13.2448 seconds, 79.2 MB/s

drbd disconnected
1048576000 bytes (1.0 GB) copied, 4.04754 seconds, 259 MB/s
1048576000 bytes (1.0 GB) copied, 4.06758 seconds, 258 MB/s
1048576000 bytes (1.0 GB) copied, 4.06758 seconds, 258 MB/s

The three (intel) gigabit PCIe cards are bonded with balance-rr, and iperf
gives me:

iperf 0.0-10.0 sec  2.52 GBytes  2.16 Gbits/sec (276.48MB/s)

So clearly there is enough speed for both on the network and in the backend
to support higher speeds. The boxes are with cross-over back-to-back
no-switch.

version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by p...@fat-tyre,
2008-12-18 15:26:13

global { usage-count yes; }
   common { syncer { rate 650M; } }

resource OpenVZ_C1C2_B_LVM5 {
  protocol C;
  startup {degr-wfc-timeout 120;}
  disk {on-io-error
detach;no-disk-flushes;no-md-flushes;no-disk-drain;no-disk-barrier;}
  net {
cram-hmac-alg sha1;
shared-secret "OpenVZ_C1C2_B";
allow-two-primaries;
after-sb-0pri discard-zero-changes;
after-sb-1pri discard-secondary;
after-sb-2pri disconnect;
rr-conflict disconnect;
timeout 300;
connect-int 10;
ping-int 10;
max-buffers 2048;
max-epoch-size 2048;
  }
  syncer {rate 650M;al-extents 257;verify-alg crc32c;}
  on c1 {
device /dev/drbd26;
disk   /dev/mapper/xenvg-OpenVZ_C1C2_B_LVM5;
address10.0.10.10:7826;
meta-disk  /dev/mapper/xenvg-DRBD_MetaDisk[26];
  }
  on c2 {
device/dev/drbd26;
disk   /dev/mapper/xenvg-OpenVZ_C1C2_B_LVM5;
address   10.0.10.20:7826;
meta-disk  /dev/mapper/xenvg-DRBD_MetaDisk[26];
  }
}


Some of the settings above are unsafe (no-disk-flushes;no-md-flushes), they
were turned on to see if it makes any different (did not)

The two boxes are quad core 3GHz Nehalems, 12GB  tripple channel DDR3-1600,
6 western digital caviar black 750GB hdds, in RAID10 with LVM on top of it,
the DRBD backends are carved out of LVM. Three separate Intel gigabit PCIe
cards are bonded with ballance-rr, and connects them back-to-back, with a
forth gigabit card in each box (onboard) toward the outside.

The OS is Debian Etch + Backports with some custom deb packages rolled by
me. The machine is a Xen Dom0, kernel: 2.6.26, xen: 3.2.1, drbd: 8.3.0

Thanks any help / hint in advance,

z
___
drbd-user mailing list
drbd-user@lists.linbit.com
http://lists.linbit.com/mailman/listinfo/drbd-user