Mysql bzw MariaDB Tuning open_files_limit

  • Es war leider etwas komplizierter, nun schicke ich das nach was ich an der MySQL bzw MariaDB gemacht habe. Zuerst müssen wir natürlich wissen, was optimiert werden muss bei dem Datenbank Server. Dazu holen wir uns Tuning Primer Script.


    Meine Probleme waren einige, und das auch ins SQL zu bekommen sehr schwierig. Normalerweise editiert man bei MySQL bzw auch MariaDB die my.cnf


    Diese erreicht man am besten über /etc/mysql/my.cnf


    Dort ergänzt oder editiert man ( hier nur ein Beispiel )


    Code
    tmp_table_size=16G
    max_heap_table_size=16G
    table_definition_cache=32000
    table_open_cache=32000
    query_cache_size = 128M
    query_cache_limit = 3M
    open_files_limit = 102400

    Das ist schon ordentlich, für meine Zwecke aber brauchbar.


    Nun eigentlich für ältere Systeme ist das auch noch wichtig... Geht in ect/security/mimits.cnf


    Dort trägt ihr folgendes ein, bzw editiert es:

    Code
    #<domain> <type> <item> <value>
    * soft nofile 65533
    * hard nofile 65533
    root soft nofile 65533
    root hard nofile 65533

    Jetzt kommt es zum interessanten, denn dort ist bei neuere Versionen von Debian und Ubuntu noch folgendes zu machen...


    Ihr geht in /etc/systemd/system, dort stehen bei MariaDB 2 Dateien! Beide ergänzen oder editieren mit


    Code
    [Service]
    LimitNOFILE=65533

    Zum Schluss, und das ist wichtig.. gebt ihr noch das ans Syystem weiter mit


    Code
    systemctl daemon-reload
    service mysql restart

    Das wars eigentlich. Die Daten müssen natürlich individuell angepasst werden! Ihr sehr schon im Primer, welche Werte evtl verbessert werden müssen. Das Projekt Tuning Primer scheint allerdings aufgegeben worden zu sein, gibt aber einige Forks, auch für MariaDB und MySQL.:love:

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    Ich denke, also BING ich!


    Support 24h Bereitschaft 0163 2161604 - NUR Für Kunden von SEO NW!

  • Was hast denn Du für Datenbanken oder Software laufen, dass die eine "tmp_table_size" von 16 Giga benötigt??? Ich habe da max. 64 Mega.

    Don't judge a book by its cover @ Jadyn Rylee
    "Sogar ein Mann mit reinstem Gemüt, der Gebete sagt jede Nacht, kann zum Wolf werden, wenn die Wolfsblume blüht unter des Mondes goldener Pracht"

  • :) Ich habe da sehr sehr viele Datenbanken. Pagespeed braucht zB sehr viel und es ist nur ein Richtwert. Wenn drunter, dann drunter. Hab da ein wenig mehr Ressourcen denke ich mal, die immer ungenutzt sind/waren.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    Ich denke, also BING ich!


    Support 24h Bereitschaft 0163 2161604 - NUR Für Kunden von SEO NW!

  • Hm. Wenn ich mich nicht irre, dann ist der Wert aber kein "Pool", sondern zählt für jede temporär erzeugte Tabelle einzeln. Also wenn da wirklich so große temporäre Tabellen erzeugt werden, was passiert dann, wenn zwei Abfragen gleichzeitig kommen? Dann sind 32 G vom RAM weg.

    Don't judge a book by its cover @ Jadyn Rylee
    "Sogar ein Mann mit reinstem Gemüt, der Gebete sagt jede Nacht, kann zum Wolf werden, wenn die Wolfsblume blüht unter des Mondes goldener Pracht"

  • Hm, also pauschal kann man aber nicht sagen "trage dass hier in deine config ein und fertig". Soviel ich weiss gibt es bestimmte formeln die optimale groesse auszurechnen (richtet sich nach den tabellengroessen und verfuegbarem RAM), und teilweise sind die werte auch voneinander abhaengig sodass z.b. wert A maximal halb so gross sein muss wie wert B.

    Hinzu kommt, dass es bei einigen parametern die performance auch wieder abnimmt wenn man den cache immer weiter vergroessert, einfach weil jedes programm mehr zeit braucht einen grossen cache zu durchsuchen statt einen kleinen cache - es gibt ja auch keine garantie dass der gewuenschte wert auch wirklich im cache ist wenn er gebraucht wird, oder erst von der HD geladen werden muss.


    Ich hab frueher oefters mal https://www.percona.com/blog/ gelesen, die hatten teilweise gute anleitungen, ergebnisse und erklaerungen zum thema mysql performance.

  • getestet mit dem Primer. Durchsatz ist wesentlich besser geworden.


    Problem war das open files limit. Das führte zu Problemen.


    Wegen RAM mache ich mir keine Sorgen, genug davon da ^.^


    aber ihr habt schon recht. Manche Optionen hängen voneinander ab.


    Bisher auch kein slow query. Passt

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    Ich denke, also BING ich!


    Support 24h Bereitschaft 0163 2161604 - NUR Für Kunden von SEO NW!