MySQL Cache

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
bitverdreher
Beiträge: 50
Registriert: 18.08.2007 18:25:03
Wohnort: Chemnitz

MySQL Cache

Beitrag von bitverdreher » 14.09.2007 10:17:50

Hallo zusammen,

nachdem mir hier in diesem Forum bei meinen Linux Problemen bisher immer kompetent geholfen wurde, habe ich nun eine Frage zum MySQL-Cache.

Ich arbeite zur Zeit an einer Datanbankanwendung mit 3Mio+ Datensätzen. Um die Performance der Abfragen zu erhöhen habe ich den MySQL-Cache aktiviert. Funktioniert auch alles einwandfrei und gecachte Abfragen sind in ca. 1-2 Sekunden erledigt. Sobald ich aber den Rechner neu starte ist der Cache wieder leer und die Abfragen dauern teilweise 30-40 Sekunden. Gibt es eine Möglichkeit die gecachten Abfragen über einen Neustart hinaus zu behalten?

greetz
der Bitverdreher

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 14.09.2007 13:42:30

Wenn der Cache im Speicher liegt, sehe ich das keine Möglichkeit.

bitverdreher
Beiträge: 50
Registriert: 18.08.2007 18:25:03
Wohnort: Chemnitz

Beitrag von bitverdreher » 14.09.2007 15:25:22

Also verstehe ich das richtig, das die Abfragen nur im Speicher abgelegt werden und nicht in einem Verzeichniss auf der Festplatte?

Ich hatte schon in der my.cnf die "tmpdir" Option auf ein anderes Verzeichniss als /tmp umgestellt weil ich dachte das dort die gecachten Abfragen liegen und /tmp ja bei einem Neustart auch gelöscht wird. Das neue Verzeichnis blieb aber leer.

Kann man dem MySQL-Server beibringen den Cache auf die Festplatte zu schreiben? Oder würde dann die Performance wieder soweit einbrechen das der Cache nichts bringt?

ekle
Beiträge: 56
Registriert: 08.11.2005 21:02:03
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von ekle » 14.09.2007 16:09:23

jetzt mal ne andere frage: warum überhaupt neustarten ?

bitverdreher
Beiträge: 50
Registriert: 18.08.2007 18:25:03
Wohnort: Chemnitz

Beitrag von bitverdreher » 14.09.2007 16:20:58

Weil es sich hierbei nur um meine Entwicklungsumgebung (Lokaler PC)handelt. Ich operiere eben nicht gern am lebenden Patienten rum. Und der muss ja nicht die ganze Nacht durchlaufen. Da habe ich schon viel zu oft das böse erwachen bekommen. Das Live-System läuft natürlich 24/7 durch. Dort gibt es auch nicht das Problem mit dem Cache. Es ist nur nervig wenn die ersten Abfragen bis zu 40 Sekunden und teilweise sogar noch länger brauchen.

Mictlan
Beiträge: 596
Registriert: 03.09.2007 11:55:28

Beitrag von Mictlan » 14.09.2007 17:21:45

kleine idee..... die Datenbank auf den Produktivserver legen? oder geht dein prog davon aus dass du über localhost zur DB kommst?
Das bissl zusätzliche Last sollte der Prod-Server doch schaffen oder?

bitverdreher
Beiträge: 50
Registriert: 18.08.2007 18:25:03
Wohnort: Chemnitz

Beitrag von bitverdreher » 14.09.2007 21:11:52

Vom Programm her wäre das kein Problem auf einen anderen Server als localhost zu connecten. Ich habe aber aus Sicherheitsgründen die Firewall auf dem Live-Server nach aussen für den MySQL-Server dicht gemacht. Und für eine bestimmte IP öffnen geht bei dynamischen IP´s auch nicht bzw. müsste ich ja dann jeden Tag die Firewall neu konfigurieren.

Da kommt mir aber gerade noch eine Idee::idea:
Wenn ich den lokalen Server in einer VM laufen lasse und diese VM nicht mit dem Host runterfahre, sondern den aktuellen Zustand speicher. Dann müsste doch der RAM der VM beim fortsetzen wieder zurückgeschrieben werden und der Cache ist wieder da?

Werde ich morgen gleich mal probieren.

Mictlan
Beiträge: 596
Registriert: 03.09.2007 11:55:28

Beitrag von Mictlan » 15.09.2007 11:28:23

okay das mit der dynamischen ip is blöd.....

aber deine idee mit der vm is gut :-) das geht sicher ....

bitverdreher
Beiträge: 50
Registriert: 18.08.2007 18:25:03
Wohnort: Chemnitz

Beitrag von bitverdreher » 18.09.2007 16:13:00

Mit der VM funktionierts. Hab jetzt nur noch ein anderes kleines Problem mit VMWare. Aber das passt nicht hier her.

Antworten