Gibt es Nachteile, wenn ich die Größe des Read-Ahead-Cache erhöhe?
Auf unserer Farm sind es derzeit 256, und wenn wir diesen Wert weiter erhöhen, können wir erhebliche Durchsatzsteigerungen verzeichnen.
[root@server~]# hdparm -tT /dev/sda /dev/sda:
Timing cached reads: 7352 MB in 2.00 seconds = 3677.62 MB/sec 3
Timing buffered disk reads: 244 MB in 3.10 seconds = 78.68 MB/sec
[root@server ~]# blockdev --setra 10240 /dev/sda
[root@server ~]# hdparm -tT /dev/sda /dev/sda:
Timing cached reads: 11452 MB in 2.00 seconds = 5728.52 MB/sec
Timing buffered disk reads: 422 MB in 3.17 seconds = 133.04 MB/sec
Wir laufen auf 2,6.
Antwort1
Die Nachteile sind
- Verschwendete IO. Ihr Computer verbringt möglicherweise Zeit damit, Dinge vom Laufwerk zu lesen, die er nicht benötigt
- Verschwendeter Speicher. Die gelesenen Daten, die nicht gelesen werden mussten, werden im Speicher abgelegt, der für etwas anderes hätte verwendet werden können.
Sie müssen sich wahrscheinlich einen Test ausdenken, der Ihre tatsächliche Nutzung besser widerspiegelt hdparm -t
. hdparm -t führt sequentiellen Zugriff durch, was ein Fall ist, in dem ein großer Read-Ahead sehr hilfreich ist. Wenn Sie viele wahlfreie Zugriffe haben, sind die Vorteile möglicherweise nicht annähernd so nützlich und wahrscheinlich schädlich.
Soweit ich weiß, besteht keine Gefahr für Ihre Daten, nur die Möglichkeit, dass sich Ihre Leistung je nach Ihrer spezifischen Arbeitsbelastung verschlechtert. Dies ist wahrscheinlich eine der Arten von Dingen, die Sie optimieren und testen müssen. Ich glaube jedoch nicht, dass ich eine so große Änderung (von 256 auf 10240) in einem einzigen Schritt vornehmen würde.