PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL - Datenbank dauerhaft in den Hauptspeicher laden



Freddy436
15.02.06, 14:35
Hallo,

wie kann man eine Datenbank dauerhaft in den Hauptspeicher laden (MySQL soll nur Änderungen in die entsprechenden Dateien schreiben).

Um es ein wenig zu konkretisieren, es handelt sich um 2 Datenbanken, auf beide Datenbanken können im Extremfall bis zu 500 SELECTs (Mittels WHERE auf die PRIMARY KEY Spalten) in sehr kurzer Zeit zukommen. Wenn die selects bereits im Cache sind geht es natürlich sehr schnell, falls das aber nicht der Fall ist dauern diese Anfragen gerne mal 5-10 Sekunden. Um das ganze einwenig zu beschleunigen würde ich gerne die Datenbanken im Speicher behalten (sie sind zusammen nur ~50MB groß).

marce
15.02.06, 14:37
eigentlich sollte das der Dateicache von Linux automatisch machen - also nach den ersten Zugriffen sollte das erledigt sein.

Alternativ vielleicht eine Ramdisc?

Den Cache "forcen" kann man recht einfach mit einem cat $file >> /dev/null

RichieX
15.02.06, 14:40
RAMDisk war auch mein erster Gedanke. In MySQL selbst wirst du keine Möglichleit finden.

marce
15.02.06, 14:46
... ansonsten - welche MySQL-Version verwendet ihr denn? Dinge wie Query-Cache und ähnliches entsprechend definiert? Genügend Prozesse gestartet? Die DB entsprechend optimiert?

temir
15.02.06, 15:45
Die DB entsprechend optimiert?
Um hier gleich anzuknüpfen: wenn der Rechner ausreichend RAM hat/kann aufgerüstet werden,
dann empfiehlt es sich, die meistdurchsuchte Tab-Spalten als Index zu definieren - dann sind sie autom. im Speicher beim DB-up.
(hoffe ich zumind. Und es sollten selbstverständlich keine varchar(255) und größer sein...)

Freddy436
15.02.06, 17:17
Version 4.0.24

Max. Prozesse, etc. passen, Datenbank ist optimiert.

Zum query cache ich habe den Speicher auf 200MB hoch gesetzt, Qcache_free_memory bzw. Qcache_free_blocks werden auch bei den größeren querys deutlich weniger, aber nach relativ kurzer zeit verschwinden die gecachten querys anscheinend wieder (Aufruf der selben Seite dauert wieder deutlich länger).

Ich werde mal die Index Idee und die ramdisc Lösung ausprobieren, danke

marce
15.02.06, 17:40
... Du kannst ja trotzdem mal die Startparameter und die my.cnf posten...