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 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


    • #82
      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


      • #83
        Originally posted by sandy8925

        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


        • #84
          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


          • #85
            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


            • #86
              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


              • #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 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


                • #88
                  Originally posted by F.Ultra View Post
                  No the context was that databases carried internal checksums and could catch data errors
                  no, the context was that nobody should enable cow for databases

                  Comment


                  • #89
                    Originally posted by S.Pam View Post
                    yes, you don't get self-healing if db doesn't provide it. but you don't get self-healing on ext4 and it requires raid1, i.e. doesn't apply to current benchmark anyway

                    Comment


                    • #90
                      Originally posted by pal666 View Post
                      no, the context was that nobody should enable cow for databases
                      Or that enabling COW for databases must be a conscious decision and at that point the relative performance to non-COW filesystems becomes meaningless.

                      Comment

                      Working...
                      X