Announcement

Collapse
No announcement yet.

Linux 5.14 SSD Benchmarks With Btrfs vs. EXT4 vs. F2FS vs. XFS

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #81
    Originally posted by F.Ultra View Post
    Only if enabled though and AFAIK both MySQL/MariaDB and PostgreSQL have it disabled as default.
    https://en.wikipedia.org/wiki/ACID#Atomicity (context was cow)
    Last edited by pal666; 31 August 2021, 04:51 PM.

    Comment


    • #82
      Originally posted by sandy8925 View Post
      So .......btrfs on hard drive for home/personal server use cases should be fine right?
      i use btrfs on harddrives for many years.

      Comment


      • #83
        Originally posted by gadnet View Post
        what's the use of btrfs if you disable snapshots and checksumming, use xfs/ext4 then
        nodatacow doesn't disable snapshots. you only disable it for database files because they do cow themselves. most of your files are not databases and btrfs is reasonably fast with them
        Last edited by pal666; 03 September 2021, 08:59 PM.

        Comment


        • #84
          Originally posted by fkoehler View Post

          Well, you can do snapshots during the night hours and weekends, when nobody is working. Just like backups.
          Taking a snapshot doesn't copy any data. The copying happens on-demand at the next time when you are changing the file. So the copying will always happen when you are actively using the computer and therefore you take the performance hit.

          Taking a single snapshot on a daily basis is "frequent" in the same sense as darkbasic used it. Frequently would be a few times each day or even hourly similar to Apple's Time Machine.
          Last edited by curfew; 31 August 2021, 09:10 PM.

          Comment


          • #85
            Originally posted by pal666 View Post
            No the context was that databases carried internal checksums and could catch data errors, ACID have zero to do with that. And as I pointed out the checksum functions in databases are disabled by default (since they have a performance impact).

            Comment


            • #86
              Originally posted by sandy8925 View Post

              Lots of apps use Sqlite for local data storage. And no, going around and overriding COW for each specific database is extra work that I don't want to take on.

              It's clear that Btrfs isn't suitable as a general purpose system when it is ridiculously slower than everything else.
              I have used BTRFS on my home machine for quite some time now and I have not seen any real world performance drop at all and I have not marked any sqllite to be nocow, not even the one used by Firefox. And all my steam games (including the proton ones) load just as quick if not faster as they did on ext4.

              Comment


              • #87
                Originally posted by curfew View Post
                Taking a snapshot doesn't copy any data. The copying happens on-demand at the next time when you are changing the file. So the copying will always happen when you are actively using the computer and therefore you take the performance hit.

                Taking a single snapshot on a daily basis is "frequent" in the same sense as darkbasic used it. Frequently would be a few times each day or even hourly similar to Apple's Time Machine.
                I've been taking hourly snapshots for years. Snapshots are pretty much just a time stamp to the filesystem. There's no additional copying going on besides normat COW.
                I can't notice when snapshot is taken. No stuttering in games while snapshoting or such.

                Comment


                • #88
                  Originally posted by gadnet View Post

                  well, it prevent checksum and snapshot reactivate datacow so no if you want nodatacow you have no snapshot and no checksum at all.
                  Taking a snapshot or making a reflink of a nodatacow file makes enables cow _once_ for every new block of written data. Compared to for all writes, every time, this is a big difference.

                  Also. This talk of enabling nodatacow for every sqlite is just silly.

                  99.9% of users simply do not need the little bit of extra performance nodatacow provides. They probably do want 'btrfs scrub' to be able to detect errors on their databases and files though.

                  Another very important thing to consider is how btrfs works with delayed transactions etc. This means that performance can tumble off at certain thresholds. If you benchmark you might hit those, but normally not during every day usage.

                  ‚Äč‚ÄčAlso really important to understand that without csums, Btrfs can't self-repair in raid if a disk is giving corrupt data. https://www.phoronix.com/forums/foru...90#post1276490
                  Last edited by S.Pam; 01 September 2021, 08:51 AM.

                  Comment


                  • #89
                    Originally posted by pal666 View Post
                    nodatacow doesn't disable snapshots. you only enable it for database files because they do cow themselves. most of your files are not databases and btrfs is reasonably fast with them
                    See what happens. https://www.phoronix.com/forums/foru...90#post1276490

                    Comment


                    • #90
                      Originally posted by curfew View Post
                      Taking a snapshot doesn't copy any data. The copying happens on-demand at the next time when you are changing the file. So the copying will always happen when you are actively using the computer and therefore you take the performance hit.

                      Taking a single snapshot on a daily basis is "frequent" in the same sense as darkbasic used it. Frequently would be a few times each day or even hourly similar to Apple's Time Machine.
                      I could probably look for it myself, but you seem to know these things. I'd expect that to also only point to a different block in the changed parts when no shifts occur. Is that how it's implemented?

                      Comment

                      Working...
                      X