Announcement

Collapse
No announcement yet.

Initial Fedora 32 vs. Fedora 33 Beta Benchmarks Point To Slightly Higher Performance

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

  • #21
    Originally posted by oleid View Post



    For god's sake, disable copy on write for the database or the directory containing the database.

    chattr +C /dir/file

    Everybody using btrfs for databases knows that. And it should be default in the benchmark as well.
    If Fedora wants btrfs by default, they should do that automagically. FWIW, when BTRFS-by-default was discussed, there was someone with a similar regression, and people on the ML promised they'll see a way to have non-COW DB files. Well, apparently that didn't happen ¯\_(ツ)_/¯ And obviously, making users do that manually is not good. My browser uses a DB, my mail client uses one, akonadi uses too; and then their DB providers are probably all different, nor I have any idea where these DB files are located. Obviously, this'd be quite a burden going manually through everything on my system, trying to `chattr +C` them.

    Comment


    • #22
      Originally posted by Hi-Angel View Post

      If Fedora wants btrfs by default, they should do that automagically. FWIW, when BTRFS-by-default was discussed, there was someone with a similar regression, and people on the ML promised they'll see a way to have non-COW DB files. Well, apparently that didn't happen ¯\_(ツ)_/¯ And obviously, making users do that manually is not good. My browser uses a DB, my mail client uses one, akonadi uses too; and then their DB providers are probably all different, nor I have any idea where these DB files are located. Obviously, this'd be quite a burden going manually through everything on my system, trying to `chattr +C` them.
      Fedora does do it where it is a feasible to automate that ex: when using libvirt or systems that are built on top of that like virt-manager, cockpit or gnome boxes or automatically using reflinks in cp command (an improvement now upstream in coreutils) however in other cases like when you are running a third party db server, you as a db admin have to configure a number of things for performance anyway, so that's something you would have to handle as part of that list. Not something that Fedora can directly automate.

      Comment


      • #23
        Originally posted by RahulSundaram View Post
        Not something that Fedora can directly automate.
        Thinking about it : system sqlite could create its files with COW disabled. That would certainly not help for electron based AppImages, but at least the system browsers and phoronix test suite would benefit.

        Comment


        • #24
          Originally posted by oleid View Post

          Thinking about it : system sqlite could create its files with COW disabled. That would certainly not help for electron based AppImages, but at least the system browsers and phoronix test suite would benefit.
          All the database servers including MySQL and PostgreSQL should do it but ideally this is handled upstream rather than through distro level patches

          Comment


          • #25
            Originally posted by RahulSundaram View Post

            All the database servers including MySQL and PostgreSQL should do it but ideally this is handled upstream rather than through distro level patches
            Ack, but one has to start somewhere, I guess.

            Comment


            • #26
              Originally posted by oleid View Post
              Originally posted by RahulSundaram View Post

              All the database servers including MySQL and PostgreSQL should do it but ideally this is handled upstream rather than through distro level patches
              Ack, but one has to start somewhere, I guess.
              Whether upstream or downstream, but this should be handled before Fedora 33 is released (or more specifically, before the "btrfs-by-default" proposal sees wide usage). Otherwise you'll get an year-worth number of Fedora installations with regressed performance (that is basically everyone who installs Fedora 33, and then whether implicitly or explicitly, creates DB files. Clearly, these "already existing" DB files will not get `chattr +C`ed upon getting updates because you never know if one didn't set the property for their own personal reasons)

              Comment


              • #27
                Originally posted by RahulSundaram View Post

                All the database servers including MySQL and PostgreSQL should do it but ideally this is handled upstream rather than through distro level patches
                What about a (post-install) script or daemon that searches for databases and disables COW accordingly? Since it can be assumed that most databases are either under /var or $HOME it would (should) work with Fedora Atomic or Silverblue as well as regular editions.

                What's funny is that ZFS has this exact same issue with databases and other "exotic" formats. And that makes me wonder if other filesystems have database issues which then makes me wonder if the best solution is upstream patches per file system, a daemon, a post install script, or what???

                Comment


                • #28
                  Originally posted by Qaridarium View Post
                  I use Fedora 32 and Btrfs really Looks Like a Sapontage in the Performance

                  Btrfs should Not be the Default
                  No, Michael is just not capable of doing a correct setup for database workloads:
                  • If you use the database setup provided by the distribution, Postgres, MariaDB etc DBs end up on separate subvolumes with CoW disabled.
                  • When you roll your own (like Michael/the PTS does), you have to do it yourself. Setting no-CoW on the DB directory is sufficient.
                  This has shed a bad light on openSUSE for years, now its hitting Fedora as well.

                  Comment


                  • #29
                    Originally posted by oleid View Post

                    Thinking about it : system sqlite could create its files with COW disabled. That would certainly not help for electron based AppImages, but at least the system browsers and phoronix test suite would benefit.
                    No, the PTS compiles its own versions for the various DBs.

                    Comment


                    • #30
                      Originally posted by StefanBruens View Post

                      No, the PTS compiles its own versions for the various DBs.
                      One more reason get it upstreamed.

                      Comment

                      Working...
                      X