Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 05 Jun 2017 23:33:00 +0200
From:      "Ronald Klop" <ronald-lists@klop.ws>
To:        =?utf-8?Q?Karli_Sj=C3=B6berg?= <karli.sjoberg@slu.se>, "Gary Palmer" <gpalmer@freebsd.org>, "Shiva Bhanujan" <Shiva.Bhanujan@quorum.net>
Cc:        "freebsd-fs@freebsd.org" <freebsd-fs@freebsd.org>, "Jeremy Faulkner" <gldisater@gmail.com>
Subject:   Re: FreeBSD restartable send/receive over WAN
Message-ID:  <op.y1dp5ai1kndu52@53556c9c.cm-6-6b.dynamic.ziggo.nl>
In-Reply-To: <3A5A10BE32AC9E45B4A22F89FC90EC0701C35D8A68@QLEXC01.Quorum.local>
References:  <0719669324a44fe0bfba3e8e08b0ae99@exch2-4.slu.se> <3A5A10BE32AC9E45B4A22F89FC90EC0701BDB12619@QLEXC01.Quorum.local> <op.ywdyg82mkndu52@53556c9c.cm-6-6b.dynamic.ziggo.nl> <3A5A10BE32AC9E45B4A22F89FC90EC0701BDB12ABA@QLEXC01.Quorum.local> <op.ywmjkqczkndu52@53556c9c.cm-6-6b.dynamic.ziggo.nl> <3A5A10BE32AC9E45B4A22F89FC90EC0701C35D8A68@QLEXC01.Quorum.local>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

I'm not authoritative about this, but I see the feature in FreeBSD 12:
https://www.freebsd.org/cgi/man.cgi?query=3Dzfs&apropos=3D0&sektion=3D8&=
manpath=3DFreeBSD+12-current&arch=3Ddefault&format=3Dhtml
(option -c to 'zfs send')

But not in FreeBSD 11.
https://www.freebsd.org/cgi/man.cgi?query=3Dzfs&apropos=3D0&sektion=3D8&=
manpath=3DFreeBSD+11-current&arch=3Ddefault&format=3Dhtml

Regards,
Ronald.


On Mon, 05 Jun 2017 23:06:41 +0200, Shiva Bhanujan  =

<Shiva.Bhanujan@quorum.net> wrote:

> Hi Ronald,
>
> Ideally, I'd like to send/receive the compressed blocks, and don't wis=
h  =

> to compress/uncompress on the fly.    Is compressed send/receive  =

> available on FreeBSD and if so, in what version?
>
> Regards,
> Shiva
>
>
> ________________________________________
> From: Ronald Klop [ronald-lists@klop.ws]
> Sent: Sunday, March 05, 2017 3:01 AM
> To: Karli Sj=C3=B6berg; Gary Palmer; Shiva Bhanujan
> Cc: freebsd-fs@freebsd.org; Jeremy Faulkner
> Subject: Re: FreeBSD restartable send/receive over WAN
>
> On Fri, 03 Mar 2017 01:34:57 +0100, Shiva Bhanujan
> <Shiva.Bhanujan@quorum.net> wrote:
>
>> I ran the same set of tests between 2 FreeBSD instances, connected on=
 a
>> 1G LAN.  The the comms was setup using mbuffer.  Here's the basic
>> command.
>>
>> time zfs send -v <snapshot> | <compress> | mbuffer -O <IP>:8099 -b 10=
24
>> -m 128M -P 10 -q -l /tmp/mbuffer.log
>> mbuffer -4 -I 8099 -b 1024 -m 128M -q -l /tmp/mbuffer.log | <uncompre=
ss>
>> | zfs recv <snapshot>
>>
>> Here are the results that I got.
>>
>> no compression:
>> real    3m18.591s
>> user    0m0.390s
>> sys     0m8.177s
>>
>> xz -0:
>> real    7m26.349s
>> user    7m6.436s
>> sys     0m8.471s
>>
>> pxz -0:
>> real    2m28.470s
>> user    6m44.168s
>> sys     0m12.002s
>>
>> gzip:
>> real    3m12.482s
>> user    3m8.260s
>> sys     0m4.974s
>>
>> lz4:
>> real    1m58.363s
>> user    0m10.000s
>> sys     0m8.708s
>>
>>
>>
>> lz4 still comes out best.  Is there anything else that I might be
>> missing in my tests?  don't have a real setup at this time to test WA=
N
>> connections, but I'd like to think that these results can be
>> extrapolated to a WAN link also.
>
>
> Uhm, in your previous test no-compression came out best. I thought you=

> wanted to test if sending on-disk compressed blocks over a network was=
 a
> gain. Not a plain test of compression algoritms.
>
> As your current numbers show: the overhead of mbuffer.log is much high=
er
> than the overhead of compression+decompression for the lz4 case. real:=

> 0m29 to 1m58. (All other compressors are actually faster with mbuffer =
in
> between? Probably because of more efficient buffering by mbuffer.)
> As the overhead of mbuffer is large it is a question how much gain you=
  =

> get
>  from removing the extra compression step by sending the on-disk  =

> compressed
> blocks.
> I guess the time would go from 1m58 to about 1m30.
>
> NB: By splitting your zfs send/receive command in two, the numbers of =
 =

> time
> can be affected. Time prints the output as soon as zfs send ends.
>
> Have fun,
> Ronald.
>
>
>
>> ________________________________________
>> From: Ronald Klop [ronald-lists@klop.ws]
>> Sent: Tuesday, February 28, 2017 11:44 AM
>> To: Karli Sj=C3=B6berg; Gary Palmer; Shiva Bhanujan
>> Cc: freebsd-fs@freebsd.org; Jeremy Faulkner
>> Subject: Re: FreeBSD restartable send/receive over WAN
>>
>> On Tue, 28 Feb 2017 16:04:16 +0100, Shiva Bhanujan
>> <Shiva.Bhanujan@quorum.net> wrote:
>>
>>> thanks for all the pointers for the compression algorithms.  I ran a=
  =

>>> few
>>> tests to compare compression overhead.  These are local zfs
>>> send/receive, and no network is involved.
>>>
>>> time zfs send -v <src-snapshot> | <compress> | <uncompress> | zfs
>>> receive -s <dst-snapshot>
>>>
>>> Here are the performance results that I got.
>>>
>>> no compression:
>>> real    0m20.892s
>>> user    0m0.000s
>>> sys     0m5.587s
>>>
>>> xz -0:
>>> real    8m38.569s
>>> user    10m28.551s
>>> sys     0m6.866s
>>>
>>> pxz -0:
>>> real    4m38.448s
>>> user    10m55.863s
>>> sys     0m13.324s
>>>
>>> gzip:
>>> real    3m51.297s
>>> user    4m12.035s
>>> sys     0m4.696s
>>>
>>> lz4:
>>> real    0m29.912s
>>> user    0m16.543s
>>> sys     0m10.810s
>>>
>>>
>>> lz4 has the least overhead in terms of time.   pxz/xz seem to be
>>> prohibitive give the above results.  Unless, there is something basi=
c
>>> I'm missing?
>>>
>>> I was really hoping that compressed sends would be available, as tha=
t
>>> would actively eliminate this overhead, given that we use lz4 as the=

>>> compression algorithm when writing to disks.
>>
>>
>> Why don't you test this with a network in between? That would give mu=
ch
>> more valuable numbers to compare for your use case.
>> The number above say nothing about the gain vs the bottleneck you are=

>> trying to remove.
>>
>> Ronald.
>>
>>
>>
>>
>>>
>>>
>>> ________________________________
>>> From: Karli Sj=C3=B6berg [karli.sjoberg@slu.se]
>>> Sent: Sunday, February 26, 2017 8:41 AM
>>> To: Gary Palmer
>>> Cc: Shiva Bhanujan; Jeremy Faulkner; freebsd-fs@freebsd.org
>>> Subject: Re: FreeBSD restartable send/receive over WAN
>>>
>>>
>>> Den 26 feb. 2017 4:16 em skrev Gary Palmer <gpalmer@freebsd.org>:
>>>>
>>>> On Sun, Feb 26, 2017 at 02:08:59PM +0000, Shiva Bhanujan wrote:
>>>> > The compression that we use on our ZFS filesystems is lz4.  So, i=
f I
>>>> have to pipe it through a compression algorithm, that'd be
>>>> uncompressing and compressing it 4 times.
>>>> >
>>>> > disk (lz4) -> zfs send (uncompress) -> compress (gzip) -> (networ=
k)
>>>> -> uncompress (gzip) -> zfs recv (compress) -> disk (lz4)
>>>> >
>>>> > isn't this quite expensive?  We have to transfer multi terabyte  =

>>>> files
>>>> on a WAN link.  I'm also of the understanding that gzip by itself i=
s
>>>> single-threaded, so that'd peg one of the CPUs to 100%.  there migh=
t  =

>>>> be
>>>> other compression algorithms that can be used, but sending the ZFS =
as
>>>> it is compressed on the filesystem is something that would be optim=
al,
>>>> and would reduce the overhead of the additional [de]compressions th=
at
>>>> are taking place?
>>>>
>>>> Without going into the efficiency part of your message:
>>>>
>>>> archivers/pigz: Parallel GZIP
>>>> archivers/pbzip2: Parallel BZIP2
>>>> archivers/pixz: Parallel, indexing version of XZ
>>>> archivers/pxz: Parallel LZMA compressor using liblzma
>>>
>>> Also worth mentioning is, obviously:
>>> archivers/lz4
>>>
>>> :)
>>>
>>> /K
>>>
>>>>
>>>> Regards,
>>>>
>>>> Gary
>>>>
>>>> >
>>>> > ________________________________________
>>>> > From: owner-freebsd-fs@freebsd.org [owner-freebsd-fs@freebsd.org]=
 on
>>>> behalf of Jeremy Faulkner [gldisater@gmail.com]
>>>> > Sent: Saturday, February 25, 2017 4:03 PM
>>>> > To: freebsd-fs@freebsd.org
>>>> > Subject: Re: FreeBSD restartable send/receive over WAN
>>>> >
>>>> > Pipe it through a compressor
>>>> >
>>>> > On 2017-02-25 2:09 PM, Shiva Bhanujan wrote:
>>>> > > Hi,
>>>> > >
>>>> > > I just tried restartable send/receive in 10.3 and it works like=
 a
>>>> charm.  I was wondering if compressed send has made its way into
>>>> FreeBSD?  I checked 10.3 and 11.0-RELEASE, and I don't see the
>>>> -c/--compressed option.  Any pointers?
>>>> > >
>>>> > > Regards,
>>>> > > Shiva
>>>> > >
>>>> > >
>>>> > > ________________________________________
>>>> > > From: owner-freebsd-fs@freebsd.org [owner-freebsd-fs@freebsd.or=
g]
>>>> on behalf of Adam Nowacki [nowakpl@platinum.linux.pl]
>>>> > > Sent: Thursday, February 16, 2017 10:41 AM
>>>> > > To: freebsd-fs@freebsd.org
>>>> > > Subject: Re: FreeBSD restartable send/receive over WAN
>>>> > >
>>>> > > On 2017-02-16 19:22, Shiva Bhanujan wrote:
>>>> > >> Hello,
>>>> > >>
>>>> > >> I was wondering if restartable send/receive is available in
>>>> FreeBSD?  We're running 10.2 and have a requirement of sending and
>>>> receiving ZFS snapshots over a WAN link.  The snapshots could be mo=
re
>>>> than a few terabytes.
>>>> > >>
>>>> > >> Can somebody please give me pointers, and if this feature is o=
r
>>>> isn't available in FreeBSD?
>>>> > >
>>>> > > FreeBSD 10.3 and later.
>>>> > >
>>>> > > _______________________________________________
>>>> > > freebsd-fs@freebsd.org mailing list
>>>> > > https://lists.freebsd.org/mailman/listinfo/freebsd-fs
>>>> > > To unsubscribe, send any mail to
>>>> "freebsd-fs-unsubscribe@freebsd.org"
>>>> > > _______________________________________________
>>>> > > freebsd-fs@freebsd.org mailing list
>>>> > > https://lists.freebsd.org/mailman/listinfo/freebsd-fs
>>>> > > To unsubscribe, send any mail to
>>>> "freebsd-fs-unsubscribe@freebsd.org"
>>>> > >
>>>> > _______________________________________________
>>>> > freebsd-fs@freebsd.org mailing list
>>>> > https://lists.freebsd.org/mailman/listinfo/freebsd-fs
>>>> > To unsubscribe, send any mail to  =

>>>> "freebsd-fs-unsubscribe@freebsd.org"
>>>> > _______________________________________________
>>>> > freebsd-fs@freebsd.org mailing list
>>>> > https://lists.freebsd.org/mailman/listinfo/freebsd-fs
>>>> > To unsubscribe, send any mail to  =

>>>> "freebsd-fs-unsubscribe@freebsd.org"
>>>> >
>>>> _______________________________________________
>>>> freebsd-fs@freebsd.org mailing list
>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-fs
>>>> To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.or=
g"
>>> _______________________________________________
>>> freebsd-fs@freebsd.org mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-fs
>>> To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org=
"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?op.y1dp5ai1kndu52>