Leichte Optimierung von MariaDB mit mysqltuner

6 min

language: ja bn de en es fr hi ko pt ru zh-cn zh-tw

Hallo, ich bin inkompetent.
Um mir die Zeit zu vertreiben, suchte ich nach etwas, womit ich in MariaDB herumspielen könnte, und fand dabei eine Tuning-Software für MySQL namens mysqltuner, die ich dann installierte.

Installation

Unter Devuan erfolgt die Installation wie folgt:

sudo apt install mysqltuner

Ausführung

Es beginnt interaktiv wie folgt:

$ mysqltuner
 >>  MySQLTuner 1.9.9
         * Jean-Marie Renouard <jmrenouard@gmail.com>
         * Major Hayden <major@mhtx.net>
 >>  Bug reports, feature requests, and downloads at http://mysqltuner.pl/
 >>  Run with '--help' for additional options and output filtering

[--] Skipped version check for MySQLTuner script
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password: 

Am Ende erschien es wie folgt:

General recommendations:
   You are using n unsupported version for production environments
   Upgrade as soon as possible to a supported version !
   Reduce or eliminate unclosed connections and network issues
   Configure your accounts with ip or subnets only, then update your configuration with skip-name-resolve=1
   We will suggest raising the 'join_buffer_size' until JOINs not using indexes are found.
            See https://dev.mysql.com/doc/internals/en/join-buffer-size.html
            (specially the conclusions at the bottom of the page).
   Performance schema should be activated for better diagnostics
   Before changing innodb_log_file_size and/or innodb_log_files_in_group read this: https://bit.ly/2TcGgtU
Variables to adjust:
   skip-name-resolve=1
   join_buffer_size (> 256.0K, or always use indexes with JOINs)
   table_definition_cache(400) > 585 or -1 (autosizing if supported)
   performance_schema=ON
   innodb_buffer_pool_size (>= 1.3G) if possible.
   innodb_log_file_size should be (=32M) if possible, so InnoDB total log files size equals 25% of buffer pool size.

Es scheint besser zu sein, die DNS-Namensauflösung zu überspringen.
※Dies kann jedoch eine Falle sein; wenn Sie `user@localhost` in MariaDB verwenden, sollten Sie dies möglicherweise unterlassen: Wenn Sie `skip-name-resolve` schreiben, können Sie möglicherweise keine Verbindung zur DB herstellen – netcreates. blog
Also suchte ich mit grep -r mysqld nach der conf-Datei des entsprechenden Abschnitts und fand den Pfad /etc/mysql/mariadb.conf.d/50-server.cnf , also habe ich es hinzugefügt.
Und es scheint besser zu sein, die Größe von join_buffer_size anzupassen, also ändere ich sie.
Es scheint auch besser zu sein, den Cache für die Tabellendefinitionen einzustellen, also ändere ich ihn.
Es scheint auch besser zu sein, die Größe der InnoDB-Logdateien anzugeben, damit sie nicht zu groß werden.
Ich habe auch die InnoDB-Poolgröße angegeben, aber sie ziemlich klein gehalten.

[mysqld]
skip-name-resolve=1
join_buffer_size = 512K
table_definition_cache = 600
innodb_log_file_size = 32M
innodb_buffer_pool_size = 2G

Wenn es bereits in der Konfiguration auskommentiert ist, kommentieren Sie es aus, wenden Sie die obigen Einstellungen an und starten Sie MariaDB neu.

sudo service mariadb restart

Und dann, das Ergebnis der erneuten Ausführung von mysqltuner.

General recommendations:
    You are using n unsupported version for production environments
    Upgrade as soon as possible to a supported version !
    MySQL was started within the last 24 hours - recommendations may be inaccurate
    We will suggest raising the 'join_buffer_size' until JOINs not using indexes are found.
             See https://dev.mysql.com/doc/internals/en/join-buffer-size.html
             (specially the conclusions at the bottom of the page).
    Performance schema should be activated for better diagnostics
    Before changing innodb_log_file_size and/or innodb_log_files_in_group read this: https://bit.ly/2TcGgtU
Variables to adjust:
    join_buffer_size (> 512.0K, or always use indexes with JOINs)
    performance_schema=ON
    innodb_log_file_size should be (=512M) if possible, so InnoDB total log files size equals 25% of buffer pool size.

Ich möchte performance_schema nicht aktivieren, und da es keine anderen offensichtlich kritischen Punkte mehr gibt, werde ich es vorerst dabei belassen.

Das war's für heute. Bis zum nächsten Mal.

Related Posts