Re: ceph zstd not for bluestor due to performance reasons

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 27, 2017 at 5:03 PM, Ragan, Tj (Dr.)
<tj.ragan@xxxxxxxxxxxxxxx> wrote:
> Hi Haomai,
>
> According to the documentation, and a brief test to confirm, the lz4
> compression plugin isn’t distributed in the official release.  I’ve tried
> asking google how to add it back to no avail, so how have you added the
> plugin?  Is it simply a matter of putting a symlink in the right place or
> will I have to recompile?

yep, maybe we could add lz4 as the default buld option

>
> Any suggestions or pointers would be gratefully received.
>
> -TJ Ragan
>
>
>
> On 26 Oct 2017, at 07:44, Haomai Wang <haomai@xxxxxxxx> wrote:
>
>
> Stefan Priebe - Profihost AG <s.priebe@xxxxxxxxxxxx>于2017年10月26日 周四17:06写道:
>>
>> Hi Sage,
>>
>> Am 25.10.2017 um 21:54 schrieb Sage Weil:
>> > On Wed, 25 Oct 2017, Stefan Priebe - Profihost AG wrote:
>> >> Hello,
>> >>
>> >> in the lumious release notes is stated that zstd is not supported by
>> >> bluestor due to performance reason. I'm wondering why btrfs instead
>> >> states that zstd is as fast as lz4 but compresses as good as zlib.
>> >>
>> >> Why is zlib than supported by bluestor? And why does btrfs / facebook
>> >> behave different?
>> >>
>> >> "BlueStore supports inline compression using zlib, snappy, or LZ4.
>> >> (Ceph
>> >> also supports zstd for RGW compression but zstd is not recommended for
>> >> BlueStore for performance reasons.)"
>> >
>> > zstd will work but in our testing the performance wasn't great for
>> > bluestore in particular.  The problem was that for each compression run
>> > there is a relatively high start-up cost initializing the zstd
>> > context/state (IIRC a memset of a huge memory buffer) that dominated the
>> > execution time... primarily because bluestore is generally compressing
>> > pretty small chunks of data at a time, not big buffers or streams.
>> >
>> > Take a look at unittest_compression timings on compressing 16KB buffers
>> > (smaller than bluestore needs usually, but illustrated of the problem):
>> >
>> > [ RUN      ] Compressor/CompressorTest.compress_16384/0
>> > [plugin zlib (zlib/isal)]
>> > [       OK ] Compressor/CompressorTest.compress_16384/0 (294 ms)
>> > [ RUN      ] Compressor/CompressorTest.compress_16384/1
>> > [plugin zlib (zlib/noisal)]
>> > [       OK ] Compressor/CompressorTest.compress_16384/1 (1755 ms)
>> > [ RUN      ] Compressor/CompressorTest.compress_16384/2
>> > [plugin snappy (snappy)]
>> > [       OK ] Compressor/CompressorTest.compress_16384/2 (169 ms)
>> > [ RUN      ] Compressor/CompressorTest.compress_16384/3
>> > [plugin zstd (zstd)]
>> > [       OK ] Compressor/CompressorTest.compress_16384/3 (4528 ms)
>> >
>> > It's an order of magnitude slower than zlib or snappy, which probably
>> > isn't acceptable--even if it is a bit smaller.
>> >
>> > We just updated to a newer zstd the other day but I haven't been paying
>> > attention to the zstd code changes.  When I was working on this the
>> > plugin
>> > was initially also misusing the zstd API, but it was also pointed out
>> > that the size of the memset is dependent on the compression level.
>> > Maybe a different (default) choice there woudl help.
>> >
>> > https://github.com/facebook/zstd/issues/408#issuecomment-252163241
>>
>> thanks for the fast reply. Btrfs uses a default compression level of 3
>> but i think this is the default anyway.
>>
>> Does the zstd plugin of ceph already uses the mentioned
>> ZSTD_resetCStream instead of creating and initializing a new one every
>> time?
>>
>> So if performance matters ceph would recommand snappy?
>
>
>
> in our test, lz4 is better than snappy
>>
>>
>> Greets,
>> Stefan
>> _______________________________________________
>> ceph-users mailing list
>> ceph-users@xxxxxxxxxxxxxx
>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>
> _______________________________________________
> ceph-users mailing list
> ceph-users@xxxxxxxxxxxxxx
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>
>
>
> _______________________________________________
> ceph-users mailing list
> ceph-users@xxxxxxxxxxxxxx
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com




[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux