Mein Mysql-Server ist stark ausgelastet, jetzt 300 qps Durchschnitt.Mysql Senkung der CPU-Auslastung durch Pufferung
Es verwendet% 50 CPU im Durchschnitt und nur 700 MB RAM. Mein Server hat 8 GB und es hat mehr als 3 GB frei. Das langsame Abfrageprotokoll scheint in Ordnung zu sein. Es gibt sehr wenige und nicht häufige.
Ich möchte sicher sein, dass es die zwischengespeicherten Ergebnisse zurückgibt und die Festplatte nicht unnötig berühren.
Ich denke, das Linux-Betriebssystem speichert die innodb-Datei, aber kann ich darauf vertrauen? Und gibt es eine gute Praxis, CPU-Nutzung durch Pufferung oder Zwischenspeicherung zu senken?
innodb_buffer_pool_size wird auf den Standardwert gesetzt. (8mb)
Ich habe Innodb, MyIsam und Speicher Tabellen gemischt.
Hier ist ein Ausgangssignal von einem Tuner Skript
INNODB STATUS
Current InnoDB index space = 238 M
Current InnoDB data space = 294 M
Current InnoDB buffer pool free = 0 %
Current innodb_buffer_pool_size = 8 M
KEY BUFFER
Current MyISAM index space = 113 M
Current key_buffer_size = 192 M
Key cache miss rate is 1 : 63
Key buffer free ratio = 74 %
Your key_buffer_size seems to be fine
QUERY CACHE
Query cache is enabled
Current query_cache_size = 256 M
Current query_cache_used = 19 M
Current query_cache_limit = 1 M
Current Query cache Memory fill ratio = 7.64 %
Current query_cache_min_res_unit = 4 K
Query Cache is 28 % fragmented
Ich tat wie du gesagt hast. Wir werden die Auswirkungen während der Hauptverkehrszeit sehen :) Aber es gibt "innodb_flush_method = O_DIRECT" übrig. Ich werde es später testen. – faraklit