wenig RAM für Datenbank, MySQL kleinhalten

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Wolf-Tilman
Beiträge: 160
Registriert: 19.06.2007 19:37:54

wenig RAM für Datenbank, MySQL kleinhalten

Beitrag von Wolf-Tilman » 03.10.2009 20:29:34

Hallo zusammen,

nach langer Zeit melde ich mich wieder einmal bei Euch.

Ich habe mir einen kleine V-Server angeschafft. Klein und günstig eben. (128MB permanent bis zu 256MB möglich, 4GB)
Bisher läuft er eigentlich zu meiner Zufriedenheit.
Jetzt habe ich allerdings ein Problem gefunden.

Für einige Applikationen brauche ich auf dem V-Server (upgegradet auf Squeeze) eine Datenbank.
Mit MySQL kenne ich mich für meine Belange am ehesten (einzigsten) entsprechen aus.
Wenn ich allerdings MySQL laufen lasse, geht der V-Server beinahe in die Knie, sprich MySQL benötigt extrem viel RAM.

Gibt es eine Möglichkeit MySQL mit weniger Speicherbedarf laufen zu lassen?
z.B. indem man die Zugriffe auf weniger beschränkt, oder so?

Bzw, wäre eine andere Datenbank hier zu empfehlen?

Danke schon einmal im Voraus für Eure Tips.

Gruß

Wolf-Tilman

Benutzeravatar
George Mason
Beiträge: 1175
Registriert: 01.03.2006 22:55:19
Lizenz eigener Beiträge: MIT Lizenz

Re: wenig RAM für Datenbank, MySQL kleinhalten

Beitrag von George Mason » 05.10.2009 22:31:39

Da müsste man mal die DB-Strukturen kennen und die Abfragen analysieren. 128 MB sind eigentlich ne Menge Holz, wie viele hundert Zugriffe hast du denn pro Minute?!

Finde doch mal heraus, welche Abfragen am meisten Speicher benötigen und guck, ob du genau diese Abfragen optimieren kannst.

- werden u.a. Daten abgefragt, die vielleicht später nicht nötig sind (select *)
- werden indizes verwendet?
- haben die Felder ein dem Inhalt angemessenes Format, oder wurde vieles einfach in riesige Textfelder gepackt?
-

Benutzeravatar
whisper
Beiträge: 3388
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: wenig RAM für Datenbank, MySQL kleinhalten

Beitrag von whisper » 06.10.2009 09:15:20

Probier doch mal die Config Datei als Anfang.
/usr/share/doc/mysql-server-5.0/examples/my-small.cnf
in der Datei ist auch was zum lesen :-)
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt. 😉

Wolf-Tilman
Beiträge: 160
Registriert: 19.06.2007 19:37:54

Re: wenig RAM für Datenbank, MySQL kleinhalten

Beitrag von Wolf-Tilman » 07.10.2009 19:59:43

George Mason hat geschrieben:... 128 MB sind eigentlich ne Menge Holz, ...
MySQL läuft nur so, ohne jeglichen Zugriff.
Also es benötigt von Haus aus die Leistung.
Das verstehe ich nicht. Bisher war ich der Ansicht, dass MySQL im Leerlauf nahezu nichts benötigt.

Gruß

Wolf-Tilman
Beiträge: 160
Registriert: 19.06.2007 19:37:54

Beitrag von Wolf-Tilman » 07.10.2009 20:17:40

Hier einmal die Ausgaben von free und vom Provider


MySQL läuft

- - total - used - free - shared - buffers - cached
Mem: - 262144 - 216964 - 45180 - 0 - 0 - 0
-/+ buffers/cache: - 216964 - 45180
Swap: - 0 - 0 - 0
Angabe des Providers:
Vserver Speicher Auslastung: 212.07 MB (82.84%)
Vserver Freier Speicher: 43.93 MB
Vserver Gesamter Speicher: 256 MB
########################################################################################

MySQL ist gestopt
- - total - used - free - shared - buffers - cached
Mem: - 262144 - 93772 - 168372 - 0 - 0 - 0
-/+ buffers/cache: - 93772 - 168372
Swap: - 0 - 0 - 0
Angabe des Providers
Vserver Speicher Auslastung: 91.75 MB (35.84%)
Vserver Freier Speicher: 164.25 MB
Vserver Gesamter Speicher: 256 MB
########################################################################################

MySQL mit my-small.cnf

- - total - used - free - shared - buffers - cached
Mem: - 262144 - 183832 - 78312 - 0 - 0 - 0
-/+ buffers/cache: - 183832 - 78312
Swap: - 0 - 0 - 0
Angabe des Providers:
Vserver Speicher Auslastung: 179.69 MB (70.19%)
Vserver Freier Speicher: 76.31 MB
Vserver Gesamter Speicher: 256 MB
Könnte vielleicht bei der Analyse helfen?

Gruß
Wolf-Tilman

tex
Beiträge: 411
Registriert: 03.12.2005 00:32:40
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: wenig RAM für Datenbank, MySQL kleinhalten

Beitrag von tex » 07.10.2009 20:27:32

Schau dir mal die /etc/mysql/my.cnf an.
Ich schlage einfach mal ein paar Werte vor, testen musst du selbst:

Code: Alles auswählen

key_buffer = 2M
query_cache_limit = 128K
query_cache_size = 2M
table_cache = 10
# Wenn du kein InnoDB brauchst
skip-innodb
Mehr fällt mir gerade nicht ein um den Speicherbedarf zu reduzieren.

Antworten