From: Austin S Hemmelgarn <ahferroin7@gmail.com>
To: Tomasz Chmielewski <tch@virtall.com>
Cc: linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: compression disk space saving - what are your results?
Date: Wed, 2 Dec 2015 09:49:05 -0500 [thread overview]
Message-ID: <565F04E1.6000003@gmail.com> (raw)
In-Reply-To: <18fb40ae4411f31353e06bf99ee12c8a@admin.virtall.com>
[-- Attachment #1: Type: text/plain, Size: 2158 bytes --]
On 2015-12-02 08:53, Tomasz Chmielewski wrote:
> On 2015-12-02 22:03, Austin S Hemmelgarn wrote:
>
>>> From these numbers (124 GB used where data size is 153 GB), it appears
>>> that we save around 20% with zlib compression enabled.
>>> Is 20% reasonable saving for zlib? Typically text compresses much better
>>> with that algorithm, although I understand that we have several
>>> limitations when applying that on a filesystem level.
>>
>> This is actually an excellent question. A couple of things to note
>> before I share what I've seen:
>> 1. Text compresses better with any compression algorithm. It is by
>> nature highly patterned and moderately redundant data, which is what
>> benefits the most from compression.
>
> It looks that compress=zlib does not compress very well. Following
> Duncan's suggestion, I've changed it to compress-force=zlib, and
> re-copied the data to make sure the file are compressed.
For future reference, if you run 'btrfs filesystem defrag -r -czlib' on
the top level directory, you can achieve the same effect without having
to deal with the copy overhead. This has a side effect of breaking
reflinks, but copying the files off and back onto the filesystem does so
also, and even then, I doubt that you're using reflinks. There probably
wouldn't be much difference in the time it takes, but at least you
wouldn't be hitting another disk in the process.
>
> Compression ratio is much much better now (on a slightly changed data set):
>
> # df -h
> /dev/xvdb 200G 24G 176G 12% /var/log/remote
>
>
> # du -sh /var/log/remote/
> 138G /var/log/remote/
>
>
> So, 138 GB files use just 24 GB on disk - nice!
>
> However, I would still expect that compress=zlib has almost the same
> effect as compress-force=zlib, for 100% text files/logs.
>
That's better than 80% space savings (it works out to about 83.6%), so I
doubt that you'd manage to get anything better than that even with only
plain text files. It's interesting that there's such a big discrepancy
though, that indicates that BTRFS really needs some work WRT deciding
what to compress.
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 3019 bytes --]
next prev parent reply other threads:[~2015-12-02 14:49 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-02 9:46 compression disk space saving - what are your results? Tomasz Chmielewski
2015-12-02 10:36 ` Duncan
2015-12-02 14:03 ` Imran Geriskovan
2015-12-02 14:39 ` Austin S Hemmelgarn
2015-12-03 6:29 ` Duncan
2015-12-03 12:09 ` Imran Geriskovan
2015-12-04 12:33 ` Austin S Hemmelgarn
2015-12-04 12:37 ` Austin S Hemmelgarn
2015-12-02 13:03 ` Austin S Hemmelgarn
2015-12-02 13:53 ` Tomasz Chmielewski
2015-12-02 14:03 ` Wang Shilong
2015-12-02 14:06 ` Tomasz Chmielewski
2015-12-02 14:49 ` Austin S Hemmelgarn [this message]
2015-12-22 3:55 ` Kai Krakow
2015-12-22 17:25 ` james northrup
2015-12-05 13:37 ` Marc Joliet
2015-12-05 14:11 ` Marc Joliet
2015-12-06 4:21 ` Duncan
2015-12-06 11:26 ` Marc Joliet
2015-12-05 19:38 ` guido_kuenne
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=565F04E1.6000003@gmail.com \
--to=ahferroin7@gmail.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=tch@virtall.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).