Hallo,
Ich optimiere gerade mit Hilfe von tuning_primer.sh das Setup meines MySQL-Servers. Im Wesentlichen geht es in eine gute Richtung. Ich bin bloß über einige Dinge verwundert:
a)
tmp_table_size / max_heap_table_size stehen bei mir auf 1GB. Ich habe 62425 offene Tabellen, von denen immer noch 61% auf der HDD erstellt werden (ok - vorher waren es 93%...)
Auch wenn ich die Werte höherschraube, verändert sich am RAM-Verbrauch der Kiste wenig. Habe ich da etwas nicht verstanden?
b)
table_cache steht bei mir auf 8096, der Werte für open_files_limit beträgt 20000. Das scheint für meine insgesamt 6500 Tabellen nicht zu reichen. Zählt er die tmp_tables mit? Bekomme ich nicht irgendwann Probleme mit dem Filesystem (ext3), wenn ich diesen Wert größer ziehe?
Die Kiste ist ein AthlonXP3500+, 2GB RAM, Queries pro Tag habe ich so 1.000.000 (ist das viel? - vielleicht ne naive Frage...), missratene Queries (z.B. keine Indexnutzung) bekämpfe ich gerade erfolgreich und bin runter auf 2,5%).
Die Kiste läuft insgesamt recht rund, weil ich das Backend mit einem Reverseproxy vor dem lighty und eaccelerator ganz gut schützen kann (Squid holt ca. 70% der Anfragen aus seiner Westentasche). MySQL bereitet mir jetzt doch mehr und mehr Sorge.
Gruß,
Maik
Größe von tmp_table_size / max_heap_table_size / table_cache
Re: Größe von tmp_table_size / max_heap_table_size / table_cache
Mit dem Dateisystem wohl nicht so schnell (auch wenn ich ext3 nicht gerade als Optimum für einen Hochlast-DB-Server betrachten würde). Aber möglicherweise mit der Anzahl verfügbarer File Descriptors (ot: heißen die Dinger auf deutsch eigentlich "Datei-Deskriptoren"?). Unter anderen unixoiden Systemen ist das jedenfalls häufig ein Thema beim Betrieb eines Datenbank-Servers. Ob Linux das auch limitiert, weiß ich nicht - aber bei OpenBSD hättest Du ohne veränderte sysctl.conf und passende login class für den mysqld-User mit open_files_limit allein kein Glück.mccab99 wrote:b)
table_cache steht bei mir auf 8096, der Werte für open_files_limit beträgt 20000. Das scheint für meine insgesamt 6500 Tabellen nicht zu reichen. Zählt er die tmp_tables mit? Bekomme ich nicht irgendwann Probleme mit dem Filesystem (ext3), wenn ich diesen Wert größer ziehe?