{"id":271,"date":"2020-06-20T21:56:40","date_gmt":"2020-06-20T19:56:40","guid":{"rendered":"https:\/\/nissel.it\/?p=271"},"modified":"2020-06-22T22:05:14","modified_gmt":"2020-06-22T20:05:14","slug":"mariadb-tuning-auf-plesk-server","status":"publish","type":"post","link":"https:\/\/nissel.it\/index.php\/2020\/06\/20\/mariadb-tuning-auf-plesk-server\/","title":{"rendered":"MariaDB Tuning auf Plesk Server"},"content":{"rendered":"\n<p>F\u00fcr MariaDB und MySQL gibt es eine Reihe von Parameter die an die Benutzung der Datenbank angepasst werden sollten. Gerade bei den Chache Gr\u00f6\u00dfen h\u00e4ngt dies sehr stark von der Nutzung ab. Es gibt ein Skript was einem bei der Analyse der Einstellungen sehr gut hilft.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget http:\/\/mysqltuner.pl\/ -O mysqltuner.pl\nperl mysqltuner.pl<\/code><\/pre>\n\n\n\n<!--more-->\n\n\n\n<p>Diese Ausgabe sollten man sich sichern, da viele der Informationen nach einem Neustart der Datenbank verloren gehen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Konfigurationsdatei<\/h2>\n\n\n\n<p>Zuerst sollte eine zus\u00e4tzliche Konfigurationsdatei erstellt werden die nicht von Plesk \u00fcberschrieben wird und eine h\u00f6here Priorit\u00e4t hat.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/mysql\/mariadb.conf.d\/99-performance.cnf\n\n&#91;mysqld]\n# Hier werden die Servereinstellungen vorgenommen<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Performance Schema<\/h2>\n\n\n\n<p>MariaDB kann zur Laufzeit einige Performancedaten sammeln dies ist zur weiteren Analyse vorteilhaft.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;--] Performance schema is disabled.<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>performance_schema = ON<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Caches <\/h2>\n\n\n\n<p>F\u00fcr die Auswertung der Daten muss die Datenbank einige Zeit in ihrem Typischen Lastszenario laufen. Ansonsten sind die Daten nicht aussagekr\u00e4ftig.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;--] Physical Memory     : 3.8G\n&#91;--] Max MySQL memory    : 3.1G\n&#91;OK] Highest usage of available connections: 12% (19\/151)\n&#91;!!] Temporary tables created on disk: 49% (6M on disk \/ 13M total)\nmax_heap_table_size (> 16M)\njoin_buffer_size (> 256.0K, or always use indexes with JOINs)\n&#91;!!] table_definition_cache(400) is lower than number of tables(3092) \ntable_open_cache (> 2000)\n&#91;!!] InnoDB buffer pool &lt;= 1G and Innodb_buffer_pool_instances(!=1).\n&#91;!!] InnoDB buffer pool \/ data size: 128.0M\/252.8M\n&#91;!!] Ratio InnoDB log file size \/ InnoDB Buffer pool size (75 %): 48.0M * 2\/128.0M \nshould be equal to 25%<\/code><\/pre>\n\n\n\n<p>Zuerst muss der verf\u00fcgbare Speicher mit dem maximal von der Datenbank verwendeten Speicher in Relation setzen. Hier w\u00fcrde die Datenbank zu viel Speicher verwenden, da noch andere Dienste auf dem Server laufen. Zuerst sollte die Anzahl der Verbindungen gesenkt werden, da nicht so viele ben\u00f6tigt werden. Den jede Verbindung verbraucht RAM. Es sollten aber nat\u00fcrlich nicht zu wenige Verbindungen eingestellt werden, da es dann zu Anwendungsfehlern kommen kann.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>max_connections = 50<\/code><\/pre>\n\n\n\n<p>Die weiteren Parameter immer wieder erh\u00f6hen bis diese nicht mehr zur Erh\u00f6hung vorgeschlagen werden oder das Speicherlimit (RAM) erreicht ist.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tmp_table_size = 64M\nmax_heap_table_size = 64M\njoin_buffer_size = 8M\ntable_definition_cache = 3500\ntable_open_cache = 3500\ninnodb_buffer_pool_instances = 1\ninnodb_buffer_pool_size = 256M\ninnodb_log_file_size = 32M<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">DNS Namensaufl\u00f6sung ausschalten<\/h2>\n\n\n\n<p>Per default wird die IP Adresse jedes clients r\u00fcckw\u00e4rts zum Hostnamen aufgel\u00f6st. Die braucht Zeit und kann bei einem Fehler im DNS Server f\u00fcr erhebliche Verz\u00f6gerung der SQL Abfragen f\u00fchren.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;!!] name resolution is active : a reverse name resolution is made for each new connection and can reduce performance<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>skip-name-resolve = 1<\/code><\/pre>\n\n\n\n<p>Linux: Ubuntu 18.04.4<br>Plesk: Obsidian 18.0.27<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Links<\/h2>\n\n\n\n<p><a href=\"http:\/\/durchgeblickt.de\/faq\/index.php?action=artikel&amp;cat=8&amp;id=38&amp;artlang=de\">http:\/\/durchgeblickt.de\/faq\/index.php?action=artikel&amp;cat=8&amp;id=38&amp;artlang=de<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>F\u00fcr MariaDB und MySQL gibt es eine Reihe von Parameter die an die Benutzung der Datenbank angepasst werden sollten. Gerade bei den Chache Gr\u00f6\u00dfen h\u00e4ngt dies sehr stark von der Nutzung ab. Es gibt ein Skript was einem bei der Analyse der Einstellungen sehr gut hilft.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[14],"class_list":["post-271","post","type-post","status-publish","format-standard","hentry","category-webserver","tag-mariadb"],"_links":{"self":[{"href":"https:\/\/nissel.it\/index.php\/wp-json\/wp\/v2\/posts\/271","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nissel.it\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nissel.it\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nissel.it\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nissel.it\/index.php\/wp-json\/wp\/v2\/comments?post=271"}],"version-history":[{"count":3,"href":"https:\/\/nissel.it\/index.php\/wp-json\/wp\/v2\/posts\/271\/revisions"}],"predecessor-version":[{"id":278,"href":"https:\/\/nissel.it\/index.php\/wp-json\/wp\/v2\/posts\/271\/revisions\/278"}],"wp:attachment":[{"href":"https:\/\/nissel.it\/index.php\/wp-json\/wp\/v2\/media?parent=271"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nissel.it\/index.php\/wp-json\/wp\/v2\/categories?post=271"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nissel.it\/index.php\/wp-json\/wp\/v2\/tags?post=271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}