Re: ZFS Cache

From: Alvar Freude <alvar(at)a-blast.org>
Date: Tue, 29 Jun 2010 12:50:38 +0200

Hi,

-- Bernd Walter <ticso(at)cicely7.cicely.de> wrote:

> Damit wird der zwischen 1,6G und 200M hin und her pendeln.
> D.h. sobald der über 1,6G ist wird der auf 200M runter-expiren.

das habe ich mir fast gedacht -- allerdings steht er meist mer oder
minder stabil bei ca. 1,4.

> Damit passt auch deine 500MB MySQL Datei nicht immer rein.

in der Tat, von den anderen (deutlich größeren) Tabellen ganz zu
schweigen -- aber darum hatte ich das ja mit der 50 MB Datei gemacht,
gleiches Verhalten.

Und auch bei "echten" MySQL-Lese-Zugriffen, die wiederholt die gleichen
Datensätze aus der Tabelle einlesen.

> Mit MySQL solltest du eh die Blocksize vom Filesystem auf 4k setzen.

ja, das ist aber nochmal was anderes ;) und dann muss ich auch die
Kompression ausschalten.

MySQL ist da eh nur eine Übergangslösung weil Altlast, das Zeug wird
alles auf PostgreSQL migriert.

>> Auch nach mehrfachem Lesen einer 50 MB-Datei wird diese nicht gecacht.
>
> Möglich - der führt Statistiken und wenn der andere Daten als
> wahrscheinlicher einstuft, dann wird der auch das nicht cachen.

das war meine Vermutung -- aber nach mehrfachem Lesen sollte er es ja mal
langsam anders einstufen ... ;)

Kann es auch sein, dass aufgrund der Laufzeit (128 Tage) sich da intern
Daten quasi festgesetzt haben, die zum Beispiel einmal am Tag eingelesen
werden (und damit nicht wirklich zeitkritisch sind)?

>> Es wundert mich, warum auch nach mehrfachem Lesen das ZFS die Datei
>> nicht in den Cache packt; immerhin ist ja noch was frei.
>>
>> Und: Warum wird der Maximalwert für ARC auf nur ca. 1.6 GB gesetzt,
>> ist es sinnvoll den in /boot/loader.conf hochzusetzen? Der FreeBSD
>> ZFS Tuning Guide sagt, unter AMD64 bräuchte man nichts machen.
>> Ich denke ich könnte nochmal 1 bis 1.5 GB zusätzlich für den Cache
>> nutzen.
>
> Ich habe meinen Fileserver mit 8G RAM auf 3G/4G ARC eingestellt.

3GB Ziel, 4GB Max?

Das muss in /boot/loader.conf, oder?

vfs.zfs.arc_max setzt das Maximum, und vfs.zfs.arc_min das Minimum --
aber die "Target Size" kann man nicht setzen?

Hier sind auch ein paar Tuning-Vorschläge, aber zu den Einträgen findet
sich insgesamt kaum Doku:

<http://submesa.com/data/bsd/setup>

Was macht zum Beispiel vfs.zfs.arc_meta_limit?

Bei mir steht es auf:
vfs.zfs.arc_meta_limit: 432312320
vfs.zfs.arc_meta_used: 1124905688

> Udn zusätzlich noch Flash-Laufwerke für Level-2 Caching, wobei dort
> nur Daten landen, die vorher als Random eingestuft wurden.

solange der Rest läuft und ich sonst keine Performance-Probleme bekomme
... ;)

> MySQL könnte davon aber gut profitieren.

das fliegt eh bald mehr oder minder raus. ;-)

Aber vom Prinzip her ist es bei Postgres ja ähnlich.

> Als Level-2 kann man billige MLC-SSD Laufwerke benutzen, weil es nur
> auf random read und sequentiel-write ankommt, aber nicht auf randowm
> write oder hohe Zuverlässigkeit.
> Wichtiger ist hier die Kapazität.

habe gelesen, dass man auch fürs ZIL eine SSD nutzen soll; aber auch das
ist bei mir erstmal nicht relevant ...

>> Wie läuft das Speicher-Handling, wenn aber doch mal die laufenden
>> Prozesse 1.5 GB mehr brauchen? Normalerweise würde dann ja der Cache
>> freigegeben werden, klappt das auch mit ZFS sauber?
>
> Leider nein - ein riesen Nachteil des Konzeptes :(
> Keine Ahnung wie da der Entwicklungsstand ist.

Aber wenn er von alleine runter geht gibt er es schon frei, oder?

Nun, da dann also mal das Swap kontrollieren ...

Ciao
  Alvar

-- 
** Alvar C.H. Freude, http://alvar.a-blast.org/
** http://www.assoziations-blaster.de/
** http://www.wen-waehlen.de/
** http://www.perl-blog.de/

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 29 Jun 2010 - 12:50:51 CEST

search this site