Dies erinnerte mich an einen Fehler in NetApp, bei dem die Leistung von Dateisystemen, die fast voll sind, erheblich abnahm (etwa die Hälfte). (Zugegeben, das war vor ein paar Jahren).
Die Antwort, wie alle sagten, hängt davon ab, aber es lohnt sich, darüber nachzudenken.
Der Hauptnachteil von vollständigen Dateisystemen ist die Liste der freien Inodes, die wahrscheinlich fragmentiert sind und überall zu finden sind.
Es gibt drei Arten von Daten, die sich für eine Datenbank auf der Festplatte befinden.
- Ihre eigentliche Datenbankdatei. Hierbei handelt es sich um eine große vorab zugewiesene Datei, die im Allgemeinen in großen Blöcken (z. B. 10%) wächst.
- Protokolle, Ihr Transaktionsprotokoll, das fortlaufend geschrieben, gelöscht, geschrieben usw. wird.
- Temporäre Dateien für große Abfragen, die nicht im Speicher ausgeführt werden können.
(1) benötigt nur freien Speicherplatz, wenn mehr Speicherplatz für Ihren Dateisatz zugewiesen wird. Wenn Ihre Datenbank nicht wächst, sollte sie nicht von einem Dateisystem mit geringem Speicherplatz betroffen sein. Wenn es jedoch zugeteilt wird, könnte es nach einem sehr großen Block fragen, der nicht in eine freie Liste passt, die Sie sofort fragmentiert haben, und das Suchen veranlassen, wenn Daten in den Speicher geladen werden müssen.
(2) Eine naive Übernahme von Protokollen, bei der das Betriebssystem zum Verwalten der Speicherplatzzuweisung und zum Löschen verwendet wird, leidet darunter. Vorausgesetzt, Ihre Datenbank ist nicht schreibgeschützt, es gibt einen konstanten Strom von Protokollen, sie werden häufig auf einem niedrigen Festplattenspeicher fragmentiert. Letztendlich wird dies Ihre Schreibleistung beeinträchtigen.
(3) tempDB: Wenn die Datenbank es für fehlerhafte, geschriebene Abfragen benötigt oder nicht genügend RAM, dann haben Sie größere Probleme als nur geringen Speicherplatz, was zu Leistungsproblemen führt, da selbst Ihre Leseleistung dann an die Festplatte gebunden werden könnte. Sie laufen auch Gefahr, einen Ausfall zu erleiden, wenn MySql Speicherplatz für tempDB reservieren muss und die Festplatte leer ist.
Informationen zu Sicherungen ...
- Jedes Unternehmen, in dem ich gearbeitet habe, speichert Backups auf demselben Computer. Wenn es um eine Wiederherstellung geht (wer sich um Backups kümmert, zählt nur die Wiederherstellung). Nichts wird die Geschwindigkeit übertreffen, mit der die db-Datei genau dort auf derselben Festplatte gespeichert ist.
- Stellen Sie hoffentlich sicher, dass die Sicherungen nicht nur lokal sind.
Kurz gesagt, ich würde sagen, Sie werden überleben, vorausgesetzt, Ihre Datenbank ist nicht schwer zu schreiben. Wenn dies der Fall ist, ist ein geringer Speicherplatz ein Problem. Aber wenn ich du wäre, würde ich eher früher als später an den folgenden arbeiten.
- Bestätigung, dass ich genug RAM habe
- Trennen von Protokollen und allen vorübergehenden Daten aus Ihrer Datenbank.
- Trennen Sie Ihr Betriebssystem und Ihre MySql-Installation vom Rest.
Verwenden Sie separate Spindeln und Steuerungen, wenn Sie für 1 können.
Gefolgt von separaten Spindeln
Gefolgt von den getrennten Partitionen eines armen Mannes.