Originally posted by atomsymbol
Announcement
Collapse
No announcement yet.
Btrfs vs. F2FS Multi-SSD Performance On Linux 4.11
Collapse
X
-
-
Originally posted by hax0r View PostWhat filesystem would you guys recommend when storing large git projects on SSD? I'm thinking of storing projects such as linux kernel, android (aosp), freedesktop projects. F2FS or BTRFS with LZO compression?
Many times I have end up in situations where it takes forever to delete thousands of small files.
Just be sure to remember that the subvolumes are not folders, or you'll wonder why you can't "rm -r" them
- Likes 1
Comment
-
Originally posted by milkylainen View PostErratic, you mentally retarded yokel.
I said both features and other qualities are more important.
But as you apparently thrive on personal insults.Last edited by starshipeleven; 02 May 2017, 02:19 AM.
Comment
-
Originally posted by hax0r View PostI'm thinking of storing projects such as linux kernel, android (aosp), freedesktop projects. F2FS or BTRFS with LZO compression?
Many times I have end up in situations where it takes forever to delete thousands of small files.
Comment
-
Small reminder : RAID1 isn't optimized well for reading under BTRFS yet. (It doesn't load balance nicely)
This is due to how BTRFS and MD handle allocation respectively.
With MD, things are dead simple :
- it does its allocations by full block devices
- first copy, the "copy A" goes on disk 1 of the pool
- second copy, the "copy B" goes on disk 2 of the pool
If you receive multiple read request, spread them between copy A and copy B (as if it where a RAID 0) and only switch to the other copy in case the first read fails.
Thus reads will be nicely spread between drive 1 and drive 2. You get up to (theoretically) twice the read speed.
With BTRFS things are more complex :
- BTRFS has its own LV-like allocation layer
- BTRFS allocates data in block groups (of 1GiB each).
- applies RAID when it allocates a new block group. (Which also means the previous block groups can be in a different mode, until they are re-balanaced)
- there's not guaranteed mapping of the block groups. The only guarantee is that in RAID1 mode, copy A of the block group and copy B of the block group will go on 2 different drives of the pool (as opposed to the "dup" modes which can write 2 copies on the same driver, in order to do redundancy on a single spinning drive), but nothing tells you which drivers those will be.
- thus it's hard to load balance. When 2 concurrent reads arrive, you can't just spread them between "copy A" and "copy B" like above because due to random chances in the allocation history, both copies might be on the same disk.
- you need extra code to check on which disk is each copy to correctly choose which copy to read from in priority.
That code isn't there yet.
BTRFS is basically as if each extent you allocate with LVM had its own mini MD raid overlayed on top.
(You can now understand why RAID5/6 is even more complex, and isn't stable yet).
So that's why RAID1 currently doesn't show much performance improvement in BTRFS.
(As opposed to a classical MD's RAID1)
Unlike RAID0, which is by definition spread among drives and thus load-balances naturally.
Originally posted by Niarbeht View Postthere's only two tests where BTRFS has noticeably worse performance: The SQLite bench{...}
Which is why systems like ZFS automatically detect this for you and turn off the CoW.
BTRFS on its side, offers you the option to manually create files with attribute:
Code:chattr +C
The question is : how does F2FS manage its speed with SQLite while being a log-structured file system...
Originally posted by dragon321 View PostBtrfs has to be functional, not fast. Development isn't focusing on performance. Show me transparent compression, snapshots, copy on write or deduplication in F2FS or another "fast" file system.
And regarding all the features :
That's also why Kent Overstreet is working on bcachefs. Hope is that he'll manage to make it, but with a FS that is a tad bit less weird to use.
But currently BCacheFS is far from having implemented the best but most complex bits of BTRFS and ZFS (no snapshotting yet, compression not really usable)
Making FS is hard.
Making FS with advanced features is even harder.
- Likes 1
Comment
-
BTRFS is perfect for me. On my very fast NVME boot ssd, it provides compression and subvolumes to dynamically allocate space between /, /var, /opt, and /home. On my HDDs, compression and snapshots are amazing to keep my files in a versioned type of way. Performance is good enough, achieving 2200 MB/s read/write on the SSD.
Comment
Comment