364 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
Plattenzugriffe, um Dinge zu schreiben. Um dieses Problem zu minimieren, benutzen
Sie Platten mit geringen Zugriffszeiten!
• Erh¨ohen Sie die Anzahl verf¨ugbarer Festplattenscheiben (und verringern Sie dadurch
den Such-Overhead), indem Sie entweder Dateien auf andere Platten symbolisch
verkn¨upfen (SymLink) oder die Platten ’stripen’.
Using Symbolische Links
Das bedeutet, dass Sie die Index- und / oder Daten-Datei(en) aus dem nor-
malen Daten-Verzeichnis auf eine andere Festplatte verkn¨upfen (die auch
’gestriped’ sein kann). Das macht sowohl den Suchvorgang als auch die
Lesezeiten besser (wenn die Platten nicht f¨ur andere Dinge benutzt wer-
den). Siehe Abschnitt 6.6.1 [Symbolic links], Seite 365.
Stripen ’Stripen’ heißt, dass Sie viele Festplatten haben und den ersten Block auf
die erste Platte legen, den zweiten Block auf die zweite Platte und den
n-ten Block auf die n-te Platte usw. Das bedeutet, wenn Ihre normale
Datengr¨oße weniger als die Stripe-Gr¨oße ist (oder perfekt passt), dass
Sie wesentlich bessere Performance erhalten. Beachten Sie, dass Stripen
sehr stark vom Betriebssystem und von der Stripe-Gr¨oße abh¨angig ist.
Machen Sie Benchmark-Tests Ihrer Applikation mit unterschiedlichen
Stripe-Gr¨oßen. Siehe Abschnitt 6.1.5 [Custom Benchmarks], Seite 328.
Beachten Sie, dass der Geschwindigkeitsunterschied f¨ur das Stripen sehr
stark vom Parameter abh¨angig ist. Abh¨angig davon, wie Sie den Stripe-
Parameter setzen und von der Anzahl von Festplatten erhalten Sie Un-
terschiede in der Gr¨oßenordnung von Faktoren. Beachten Sie, dass Sie
entscheiden m¨ussen, ob Sie f¨ur zuf¨allige oder sequentielle Zugriffe opti-
mieren.
• Aus Gr¨unden der Zuverl¨assigkeit sollten sie vielleicht RAID 0 + 1 nehmen (Stripen +
Spiegeln), doch in diesem Fall brauchen Sie 2 * n Laufwerke, um n Datenlaufwerke
zu haben. Das ist wahrscheinlich die beste Option, wenn Sie genug Geld daf¨ur haben!
Sie m¨ussen jedoch eventuell zus¨atzlich in Software f¨ur die Verwaltung von Volumes
investieren, um das effizient zu handhaben.
• Eine gute Option ist es, nicht ganz so wichtige Daten (die wieder hergestellt werden
k¨onnen) auf RAID-0-Platten zu halten, w¨ahrend wirklich wichtige Daten (wie Host-
Informationen und Log-Dateien) auf einer RAID-0+1- oder RAID-N-Platte gehalten
werden. RAID-N kann ein Problem darstellen, wenn Sie viele Schreibzugriffe haben,
weil Zeit ben¨otigt wird, die Parit¨atsbits zu aktualisieren.
• Sie k¨onnen auch den Parameter f¨ur das Dateisystem setzen, das die Datenbank benutzt.
Eine einfache
¨
Anderung ist, das Dateisystem mit der noatime-Option zu mounten. Das
bringt es dazu, das Aktualisieren der letzten Zugriffszeit in der Inode zu ¨uberspringen
und vermeidet dadurch einige Platten-Suchzugriffe.
• Unter Linux k¨onnen Sie viel mehr Performance erhalten (bis zu 100% unter Last ist
nicht ungew¨ohnlich), wenn Sie hdpram benutzen, um die Schnittstelle Ihrer Festplatte
zu konfigurieren! Das folgende Beispiel sollte recht gute hdparm-Optionen f¨ur MySQL
(und wahrscheinlich viele andere Applikationen) darstellen:
hdparm -m 16 -d 1
Comentarios a estos manuales