Handler_read, Slow_queries und anderes
Posted: 2008-10-06 21:05
Guten Abend liebe Rootforumnutzer,
ich teste gerade verschiedene MYSQL Konfigurationen und bin zu dem Schluss gekommen, dass sich aus Sicht des Webseitenbesucher die Query times nur marginal unterscheiden. Zumindest was die MySQL Abfragegeschwindigkeit beim surfen auf meinen gehosteten Seiten angeht.
Bei ausgeschaltetem query Cache hab ich bei einer speziellen Seite die eine recht umfangreiche Abfrage startet immer ca 3.5 Sekunden. Bei eingeschaltetem Q-Cache 0.1.
natürlich will ich die Werte folgender Größen...
join_buffer_size
sort_buffer_size
record/read_rnd_buffer_size
read_buffer_size
...möglichst gering haben um eine theoretische maximale RAM-Auslastung im Rahmen zu halten.
Nur folgende Werte werden bei einem sparsamen Speichersetup auch nach einer kurzen Laufzeit ziemlich hoch...
MySQL server has been running for 0 days, 4 hours, 8 minutes and 23 seconds.
Handler_read_rnd 290 k
Handler_read_rnd_next 116 M
Können diese sich negativ auf die Stabilität auswirken oder andere schlechte Folgen haben?
was ich auch etwas seltsam finde ist folgendes
Slow_queries: 1,645
die slow query time habe ich auf 10 Sekunden, was eigentlich ja zu hoch ist. Mir wäre nie aufgefallen das irgend eine Seite auf dem Server so lange braucht zu laden (caches deaktivier).
An was könnte das noch liegen das er jede paar Sekunden einen slow Query verbucht? Blöd gefragt: kann das auch an langsamen Connections von anderen Besuchern liegen?
Hab gerade folgende my.cnf
key_buffer_size = 192M
thread_stack = 256K
thread_cache_size = 32
max_connections = 100
table_cache = 2048
thread_concurrency = 2
join_buffer_size = 128K
read_buffer_size = 128K
read_rnd_buffer_size = 256K
sort_buffer_size = 2M
tmp_table_size = 128M
max_heap_table_size = 128M
query_cache_limit = 16M
query_cache_size = 128M
query_cache_type = 1
query_cache_min_res_unit = 512
myisam_sort_buffer_size = 32M
myisam_recover = FORCE,BACKUP
max_allowed_packet = 32M
Wenn ich folgendes einstelle
join_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 2M
hab ich zwar Handler_read_rnd und Handler_read_rnd_next niedriger. Aber von der Performance macht das überhaupt keinen merklichen Unterschied, weshalb ich natürlich lieber das sparsame Setup bevorzuge. Oder würde man das erst bei einer stärkeren Auslastung des Servers bemerken oder anderen Bedingungen bemerken?
Und warum stellt es für die read_buffer_size 126 976 Bytes = 124 kilobytes ein, für die read_rnd_buffer_size 252 statt 256 und den sort buffer auf 1.99999237 megabytes statt 2MB. Mit Webmin kann ich die Einstellungen korrekt setzten aber nicht mit my.cnf komisch.
Und wie bekomme ich "443 temp tables 10% were created on disk" auf 0% oder bekommt man das nie hin?
freue mich auf Eure Meinungen
Gruß
ich teste gerade verschiedene MYSQL Konfigurationen und bin zu dem Schluss gekommen, dass sich aus Sicht des Webseitenbesucher die Query times nur marginal unterscheiden. Zumindest was die MySQL Abfragegeschwindigkeit beim surfen auf meinen gehosteten Seiten angeht.
Bei ausgeschaltetem query Cache hab ich bei einer speziellen Seite die eine recht umfangreiche Abfrage startet immer ca 3.5 Sekunden. Bei eingeschaltetem Q-Cache 0.1.
natürlich will ich die Werte folgender Größen...
join_buffer_size
sort_buffer_size
record/read_rnd_buffer_size
read_buffer_size
...möglichst gering haben um eine theoretische maximale RAM-Auslastung im Rahmen zu halten.
Nur folgende Werte werden bei einem sparsamen Speichersetup auch nach einer kurzen Laufzeit ziemlich hoch...
MySQL server has been running for 0 days, 4 hours, 8 minutes and 23 seconds.
Handler_read_rnd 290 k
Handler_read_rnd_next 116 M
Können diese sich negativ auf die Stabilität auswirken oder andere schlechte Folgen haben?
was ich auch etwas seltsam finde ist folgendes
Slow_queries: 1,645
die slow query time habe ich auf 10 Sekunden, was eigentlich ja zu hoch ist. Mir wäre nie aufgefallen das irgend eine Seite auf dem Server so lange braucht zu laden (caches deaktivier).
An was könnte das noch liegen das er jede paar Sekunden einen slow Query verbucht? Blöd gefragt: kann das auch an langsamen Connections von anderen Besuchern liegen?
Hab gerade folgende my.cnf
key_buffer_size = 192M
thread_stack = 256K
thread_cache_size = 32
max_connections = 100
table_cache = 2048
thread_concurrency = 2
join_buffer_size = 128K
read_buffer_size = 128K
read_rnd_buffer_size = 256K
sort_buffer_size = 2M
tmp_table_size = 128M
max_heap_table_size = 128M
query_cache_limit = 16M
query_cache_size = 128M
query_cache_type = 1
query_cache_min_res_unit = 512
myisam_sort_buffer_size = 32M
myisam_recover = FORCE,BACKUP
max_allowed_packet = 32M
Wenn ich folgendes einstelle
join_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 2M
hab ich zwar Handler_read_rnd und Handler_read_rnd_next niedriger. Aber von der Performance macht das überhaupt keinen merklichen Unterschied, weshalb ich natürlich lieber das sparsame Setup bevorzuge. Oder würde man das erst bei einer stärkeren Auslastung des Servers bemerken oder anderen Bedingungen bemerken?
Und warum stellt es für die read_buffer_size 126 976 Bytes = 124 kilobytes ein, für die read_rnd_buffer_size 252 statt 256 und den sort buffer auf 1.99999237 megabytes statt 2MB. Mit Webmin kann ich die Einstellungen korrekt setzten aber nicht mit my.cnf komisch.
Und wie bekomme ich "443 temp tables 10% were created on disk" auf 0% oder bekommt man das nie hin?
freue mich auf Eure Meinungen
Gruß