Ich habe hier ein Problem mit dem maximalen Durchsatz und brauche Ratschläge, wie ich meine Regler einstellen kann. Wir betreiben einen 10Gbit Fileserver für die Backup Distribution. Es ist ein S-ATA2-Setup mit zwei Festplatten auf einem LSI MegaRAID-Controller. Der Server hat auch 24 GB Speicher.
Wir müssen unser zuletzt hochgeladenes Backup mit maximalem Durchsatz spiegeln.
Das RAID0 für unsere "heißen" Backups gibt uns rund 260 MB / s Schreib- und 275 MB / s Lesegeschwindigkeit. Ein getesteter tmpfs mit einer Größe von 20 GB ergibt ungefähr 1 GB / s. Diese Art von Durchsatz ist das, was wir brauchen.
Wie kann ich nun das virtuelle Speichersubsystem von Linux so einstellen, dass die zuletzt hochgeladenen Dateien so lange wie möglich im Speicher zwischengespeichert werden, ohne dass sie auf die Festplatte geschrieben werden (oder noch besser: auf die Festplatte schreiben UND sie im Speicher behalten)?
Ich habe die folgenden Sysctls eingerichtet, aber sie geben uns nicht den erwarteten Durchsatz:
# VM pressure fixes
vm.swappiness = 20
vm.dirty_ratio = 70
vm.dirty_background_ratio = 30
vm.dirty_writeback_centisecs = 60000
Dies sollte uns theoretisch 16 GB für das Zwischenspeichern von E / A geben und einige Minuten warten, bis es auf die Festplatte geschrieben wird. Wenn ich jedoch den Server einem Benchmarking unterziehe, sehe ich keine Auswirkungen auf das Schreiben, der Durchsatz steigt nicht an.
Hilfe oder Rat benötigt.