Hallo liebe Serversupportforennutzer,
ich test zur Zeit 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 ~3.5 Sekunden. Bei eingeschaltetem Q-Cache 0.1.
natürlich will ich die wichtigen 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 bei voller Besucherzahl im Rahmen zu halten.
Der Server verfügt über 2GB RAM, Apache2 ist auf 100 Max Connections und arbeitet mit PHP5+fCGId+suexec (child prozesse deaktiviert).
Postfix+dovecot, ClamAV, Spamd, Webmin und Teamspeak sind ebenfalls aktiv.
folgende Werte werden bei einem sparsamen Speichersetup auch nach einer kurzen Laufzeit ziemlich hoch...
The number of requests to read a row based on a fixed position. This is high if you are doing a lot of queries that require sorting of the result. You probably have a lot of queries that require MySQL to scan whole tables or you have joins that don't use keys properly.
...kann sich das negativ auf die Stabilität auswirken oder andere schlechte Folgen haben?
was ich auch etwas seltsam finde ist folgendes
die slow query time habe ich auf 10 Sekunden, was eigentlich ja zu hoch ist. Ist jetzt vielleicht eine ungenaue Aussage aber wäre nie aufgefallen das irgend eine Seite auf dem Server so lang braucht um zu laden (ohne caching). 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
Wenn ich folgendes einstelle
hab ich zwar
und
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 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 geht das garnicht bzw. macht nichts aus?
Ich freue mich auf Eure Meinungen und entschuldige mich für den vielen Text, aber irgendwie konnte ich nichts auslassen.
ich test zur Zeit 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 ~3.5 Sekunden. Bei eingeschaltetem Q-Cache 0.1.
natürlich will ich die wichtigen 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 bei voller Besucherzahl im Rahmen zu halten.
Der Server verfügt über 2GB RAM, Apache2 ist auf 100 Max Connections und arbeitet mit PHP5+fCGId+suexec (child prozesse deaktiviert).
Postfix+dovecot, ClamAV, Spamd, Webmin und Teamspeak sind ebenfalls aktiv.
folgende Werte werden bei einem sparsamen Speichersetup auch nach einer kurzen Laufzeit ziemlich hoch...
Code:
MySQL server has been running for [B]0 days, 4 hours, 8 minutes and 23 seconds[/B].
Code:
Handler_read_rnd [COLOR="Red"]290 k[/COLOR]
Code:
Handler_read_rnd_next [COLOR="Red"]116 M[/COLOR]
...kann sich das negativ auf die Stabilität auswirken oder andere schlechte Folgen haben?
was ich auch etwas seltsam finde ist folgendes
Code:
Slow_queries: [COLOR="Red"]1,645[/COLOR]
die slow query time habe ich auf 10 Sekunden, was eigentlich ja zu hoch ist. Ist jetzt vielleicht eine ungenaue Aussage aber wäre nie aufgefallen das irgend eine Seite auf dem Server so lang braucht um zu laden (ohne caching). 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
Code:
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
Code:
join_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 2M
Code:
Handler_read_rnd
Code:
Handler_read_rnd_next
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 geht das garnicht bzw. macht nichts aus?
Ich freue mich auf Eure Meinungen und entschuldige mich für den vielen Text, aber irgendwie konnte ich nichts auslassen.
Last edited by a moderator: