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
wenig RAM für Datenbank, MySQL kleinhalten
-
- Beiträge: 160
- Registriert: 19.06.2007 19:37:54
- 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
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?
-
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?
-
- 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
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
/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.
-
- Beiträge: 160
- Registriert: 19.06.2007 19:37:54
Re: wenig RAM für Datenbank, MySQL kleinhalten
MySQL läuft nur so, ohne jeglichen Zugriff.George Mason hat geschrieben:... 128 MB sind eigentlich ne Menge Holz, ...
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ß
-
- Beiträge: 160
- Registriert: 19.06.2007 19:37:54
Hier einmal die Ausgaben von free und vom Provider
MySQL läuft
MySQL ist gestopt
MySQL mit my-small.cnf
Gruß
Wolf-Tilman
MySQL läuft
Angabe des Providers:
- - total - used - free - shared - buffers - cached
Mem: - 262144 - 216964 - 45180 - 0 - 0 - 0
-/+ buffers/cache: - 216964 - 45180
Swap: - 0 - 0 - 0
########################################################################################Vserver Speicher Auslastung: 212.07 MB (82.84%)
Vserver Freier Speicher: 43.93 MB
Vserver Gesamter Speicher: 256 MB
MySQL ist gestopt
Angabe des Providers- - total - used - free - shared - buffers - cached
Mem: - 262144 - 93772 - 168372 - 0 - 0 - 0
-/+ buffers/cache: - 93772 - 168372
Swap: - 0 - 0 - 0
########################################################################################Vserver Speicher Auslastung: 91.75 MB (35.84%)
Vserver Freier Speicher: 164.25 MB
Vserver Gesamter Speicher: 256 MB
MySQL mit my-small.cnf
Angabe des Providers:
- - total - used - free - shared - buffers - cached
Mem: - 262144 - 183832 - 78312 - 0 - 0 - 0
-/+ buffers/cache: - 183832 - 78312
Swap: - 0 - 0 - 0
Könnte vielleicht bei der Analyse helfen?Vserver Speicher Auslastung: 179.69 MB (70.19%)
Vserver Freier Speicher: 76.31 MB
Vserver Gesamter Speicher: 256 MB
Gruß
Wolf-Tilman
-
- 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
Schau dir mal die /etc/mysql/my.cnf an.
Ich schlage einfach mal ein paar Werte vor, testen musst du selbst:
Mehr fällt mir gerade nicht ein um den Speicherbedarf zu reduzieren.
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