On 2015-10-02 00:21, Russell Coker wrote:
On Sat, 26 Sep 2015 12:20:41 AM Austin S Hemmelgarn wrote:
FYI:
Linux pagecache use LRU cache algo, and in general case it's working good
enough

I'd argue that 'general usage' should be better defined in this
statement.  Obviously, ZFS's ARC implementation provides better
performance in a significant number of common use cases for Linux,
otherwise people wouldn't be using it to the degree they are.

No-one gets a free choice about this.  I have a number of servers running ZFS
because I needed the data consistency features and BTRFS wasn't ready.  There
is no choice of LRU vs ARC once you've made the BTRFS vs ZFS decision.
I'm not saying there is a free choice in this, although that is largely because the page-cache wasn't written in a way on Linux that allows for easy development of alternative caching algorithms for it. When I said 'using it', I meant using ZFS, not just ARC. I would love to be able some day to be able to use ARC or even just SLRU (ARC with out the adaptive internal sizing bits) on Linux, as both provide better performance for COW workloads than plain LRU (although, somewhat paradoxically, for some COW workloads, an MRU algorithm is even better).

ARC presumably worked better than the other Solaris caching options.  It was
ported to Linux with zfsonlinux because that was the easy way of doing it.
Actually, I think part of that was also the fact that ZFS is a COW filesystem, and classical LRU caching (like the regular Linux pagecache) often does horribly with COW workloads (and I'm relatively convinced that this is a significant part of why BTRFS has such horrible performance compared to ZFS).

Some people here have reported that ARC worked well for them on Linux.  My
experience was that the zfsonlinux kernel modules wouldn't respect the module
load options to reduce the size of the ARC and the default size would cause
smaller servers to have kernel panics due to lack of RAM.  My solution to that
problem was to get more RAM for all ZFS servers as buying RAM is cheaper for
my clients than paying me to diagnose the problems with ZFS.
The whole ARC sizing issue with zfsonlinux is largely orthogonal to whether or not ARC is better for a given workload, and I think that there is actually some lower limit they force based on the amount of RAM at boot.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to