Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-34364

improve timing of startup and shutdown (of an empty server)

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Minor
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    Description

      Context: MirrorCache is a web application, which supports both MariaDB and Postgres as DB backend.
      (It runs each DB in various test and production setups).

      CI has test scenarios which setup and run numerous services in different configurations. There are about 100 tests scenarios.

      Problem 1: CI for postgres runs 7 minutes faster (>25%) than for MariaDB. It makes impression that MariaDB is just slower, while most of the time difference comes from inefficient startup / shutdown.

      Problem 2: MariaDB 11.4 introduced even slower startup (now in CI it is 30% slower than postgres), which raises a question whether it is reasonable to keep slow CI or keep support of a single DB vendor, which is capable to show good performance in CI.

      Current timing of CI:
      postgresql - ~20 min
      mariadb 10.11 - ~28 min
      mariadb 11.5 - ~29 min

      CI log

      Suggestion 1: make startup in versions after 11.4 at least as fast as 11.3, or and option for that.

      Suggestion 2: optimize "mariadb-admin shutdown", which takes at least 1 sec.

      Suggestion 3 (bonus): generally optimize startup, so it takes not slower than postgresql

      Steps to reproduce:
      Please find attached Docker files, which demonstrate behavior for 100 start / stop cycles for latest MariaDB 11.3 (slow) and 11.4 (very slow), as well as PostgreSQL 15 (very fast):

      Dockerfile.pg - 22 sec
      Dockerfile.11.3 - 2 min 2 sec
      Dockerfile.11.4 - 5 min 50 sec

      just put the files into empty folder and run command below, then observe output of the last command:

      docker build -f DockerfileXXX .

      Note 1: The tests use eatmydata utility, so speed of the disk shouldn't matter.

      Note 2: The tests use environ scripts for managing both Postgresql and MariaDB. These are simple wrappers over mariadb, mariadb-admin, etc . You can observe that content of the wrappers and run those commands directly if you prefer.

      Attachments

        1. Dockerfile.11.3
          2 kB
        2. Dockerfile.11.4
          2 kB
        3. Dockerfile.pg
          1 kB

        Activity

          People

            Unassigned Unassigned
            anikitin1 Andrii
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.