freeman303
Enthusiast
Thread Starter
- Mitglied seit
- 01.08.2006
- Beiträge
- 631
Mir sind einige Eigenarten im Zusammenhang zwischen Read- und Write-Cache Einstellungen und Benchmarkergebnissen aufgefallen.
Mein Testsystem besteht aus einem RAID 0 aus 2 x Mtorn Mobi 3000 32 GB SSD an einem Dell Perc 5/i Controller mit 256 MB RAM-Cache, neueste Dell Firmware und neueste LSI Treiber. Stripegröße waren nur 8 kB. Beim Einsatz von größeren Stripegrößen waren die Ergebnisse aber entsprechend gleich „verwirrend“. Als Betriebssystem kam Windows Server 2008 x64, was Vista x64 entspricht.
Ich veröffentliche hier Werte die mit ATTO und CrystalDiskMark ermittelt wurden. Die Tendenz der Ergebnisse wurde jedoch auch von anderen Benkchmarkprogrammen bestätigt.
Die Ausgangssituation war ein Zustand, in dem No Read Ahead und Write Thorough verwendet wird Also entspricht diese Einstellung Lesecache = aus und Schreibcache = aus.
ATTO Liefert hier [Blockgröße, Write in MB/s, Read in MB/s]:
4k – 69 – 73
8k – 110 – 113
16k – 113 - 120
32k – 117 - 128
64k – 120 - 133
128k – 122 - 139
256k – 127 - 146
512k – 131 – 153
CrystalDiskMark (Blockgröße: 1000 MB) [Test, Read in MB/s, Write in MB/s]:
Seq – 146 – 124
512k – 140 – 49
4k – 25 – 1.5
Da mir die Schreibleistung zu gering war, fragte ich mich, was passiert, wenn ich den Schreibcache auf Write Back einstelle. Der Lesecache soll unberührt auf aus bleiben. So ist die neue Einstellung: Write Cache = Write Back
Read Cache = No Read Ahead
Was ich erwartet hätte wäre eine Zunahme der Schreibleistung und eine unveränderte Leseleistung. Entgegen der Erwartung habe ich die folgenden Ergebnisse erhalten:
ATTO Liefert hier [Blockgröße, Write in MB/s, Read in MB/s]:
4k – 37 - 66
8k – 59 - 98
16k – 66 - 71
32k – 91 - 87
64k – 99 -104
128k – 89 - 196
256k – 76 - 138
512k – 89 - 108
CrystalDiskMark (Blockgröße: 1000 MB) [Test, Read in MB/s, Write in MB/s]:
Seq – 84 - 67
512k – 115 - 85
4k – 20 – 19.5
Folgendes ist passiert:
Bei ATTO sinkt die Schreibleistung auf 50% bis 70% im Vergleich, wenn man als Cachestrategie WT verwendet.
Bei ATTO sinkt die Leseleistung von 73 auf 66 bei 4k und von 153 auf 108 bei 512k. Den Ausreißer bei 128k kann ich nicht erklären. Doch warum verändert sich die Leseleitung, obwohl nur die SCHREIB-Cache-Strategie geändert wurde?
CrystalDiskMark bestätigt tendenziell die Ergebnisse von ATTO. Lediglich erhöhen sich hier die Scheibwerte bei 512k und 4k deutlich!
So verändert die Änderung der Schreibcachestrategie auch die Leseleistung. Finde ich zwar verwirend, aber was soll’s.
Möglicherweise verändern sich die Schreibwerte auch, wenn nur die Lesecachestrategie geändert wird? Also teste ich hier das Array mit den Einstellungen:
Write Cache = Write Thorough
Read Cache = Always Read Ahead und Adaptive Read Ahead (bei beiden Lesecachestrategien sind die Ergebnisse vergleichbar miteinander)
ATTO Liefert hier [Blockgröße, Write in MB/s, Read in MB/s]:
4k – 37 - 45
8k – 52 - 88
16k – 66 - 119
32k – 80 - 148
64k – 92 - 169
128k – 97 - 192
256k – 102 - 206
512k – 103 - 169
CrystalDiskMark (Blockgröße: 1000 MB) [Test, Read in MB/s, Write in MB/s]:
Seq – 95 - 58
512k – 113 - 49
4k – 21 – 1.4
Auch hier sacken die Schreibwerte bei ATTO auf 50% bis 70% der ursprünglichen Schreibleistung ein. Die Leseleistung steigt hier erst ab einer Dateigröße von 32k auf bis zu 20% max. mehr.
CrystalDiskMark ist nicht der gleichen Meinung. Hier sinken die Lesewerte durch die Bank. Der Schreibwert im Seq-Bereich ebenfalls.
Der Vollständigkeithalber auch die Werte bei:
Write Cache = Write Back
Read Cache = Always / Adaptive Read Ahead (auch hier haben beide Read-Cache Mechanismen keine nennenswerten Vorteile oder Nachteile zueinander)
ATTO Liefert hier [Blockgröße, Write in MB/s, Read in MB/s]:
4k – 36 - 31
8k – 75 - 91
16k – 60 - 67
32k – 90 - 95
64k – 96 - 96
128k – 90 - 192
256k – 74 - 118
512k – 89 - 105
CrystalDiskMark (Blockgröße: 1000 MB) [Test, Read in MB/s, Write in MB/s]:
Seq – 84 - 67
512k – 105 - 87
4k – 18 - 17
Im Vergleich zum Test mit Write Back und No Read Ahead bleibt hier die Schreibleistung unverändert. Die Leseleistung sinkt im gesamten sogar etwas.
CrystalDiskMark bestätigt das leichte Absinken der Leseleistung.
Mein Fazit des gesamten Tests:
Aktiviert man die Schreibcachestrategie von WT auf WB, in der Hoffnung eine höhere Schreibleistung zu erhalten, gibt es als Ergebnis Einbrüche dieser auf bis zu max. 50% der ursprünglichen Schreibleistung mit CacheStrategie WT.
Das Aktivieren des Lesecache resultiert in deutlicher Verringerung der Schreibleistung und ebenfalls der Leseleistung. Nur die Leseleistung bei Dateien ab einer bestimmten Größe wird leicht positiv beeiflusst.
Ergo: Vielleicht sollte man die Caches deaktiviert lassen. Also Write Cache = WT, Read Cache = No Read Ahead. So erhält man die insgesamt höchste Schreib- und Leseleistung. Traurig aber wahr.
Die Werte habe ich an einem weiteren System mit 2 SSDs und einem Perc 5i bestätigt.
Was sind Eure Meinungen dazu?
Gruss
Freeman
Mein Testsystem besteht aus einem RAID 0 aus 2 x Mtorn Mobi 3000 32 GB SSD an einem Dell Perc 5/i Controller mit 256 MB RAM-Cache, neueste Dell Firmware und neueste LSI Treiber. Stripegröße waren nur 8 kB. Beim Einsatz von größeren Stripegrößen waren die Ergebnisse aber entsprechend gleich „verwirrend“. Als Betriebssystem kam Windows Server 2008 x64, was Vista x64 entspricht.
Ich veröffentliche hier Werte die mit ATTO und CrystalDiskMark ermittelt wurden. Die Tendenz der Ergebnisse wurde jedoch auch von anderen Benkchmarkprogrammen bestätigt.
Die Ausgangssituation war ein Zustand, in dem No Read Ahead und Write Thorough verwendet wird Also entspricht diese Einstellung Lesecache = aus und Schreibcache = aus.
ATTO Liefert hier [Blockgröße, Write in MB/s, Read in MB/s]:
4k – 69 – 73
8k – 110 – 113
16k – 113 - 120
32k – 117 - 128
64k – 120 - 133
128k – 122 - 139
256k – 127 - 146
512k – 131 – 153
CrystalDiskMark (Blockgröße: 1000 MB) [Test, Read in MB/s, Write in MB/s]:
Seq – 146 – 124
512k – 140 – 49
4k – 25 – 1.5
Da mir die Schreibleistung zu gering war, fragte ich mich, was passiert, wenn ich den Schreibcache auf Write Back einstelle. Der Lesecache soll unberührt auf aus bleiben. So ist die neue Einstellung: Write Cache = Write Back
Read Cache = No Read Ahead
Was ich erwartet hätte wäre eine Zunahme der Schreibleistung und eine unveränderte Leseleistung. Entgegen der Erwartung habe ich die folgenden Ergebnisse erhalten:
ATTO Liefert hier [Blockgröße, Write in MB/s, Read in MB/s]:
4k – 37 - 66
8k – 59 - 98
16k – 66 - 71
32k – 91 - 87
64k – 99 -104
128k – 89 - 196
256k – 76 - 138
512k – 89 - 108
CrystalDiskMark (Blockgröße: 1000 MB) [Test, Read in MB/s, Write in MB/s]:
Seq – 84 - 67
512k – 115 - 85
4k – 20 – 19.5
Folgendes ist passiert:
Bei ATTO sinkt die Schreibleistung auf 50% bis 70% im Vergleich, wenn man als Cachestrategie WT verwendet.
Bei ATTO sinkt die Leseleistung von 73 auf 66 bei 4k und von 153 auf 108 bei 512k. Den Ausreißer bei 128k kann ich nicht erklären. Doch warum verändert sich die Leseleitung, obwohl nur die SCHREIB-Cache-Strategie geändert wurde?
CrystalDiskMark bestätigt tendenziell die Ergebnisse von ATTO. Lediglich erhöhen sich hier die Scheibwerte bei 512k und 4k deutlich!
So verändert die Änderung der Schreibcachestrategie auch die Leseleistung. Finde ich zwar verwirend, aber was soll’s.
Möglicherweise verändern sich die Schreibwerte auch, wenn nur die Lesecachestrategie geändert wird? Also teste ich hier das Array mit den Einstellungen:
Write Cache = Write Thorough
Read Cache = Always Read Ahead und Adaptive Read Ahead (bei beiden Lesecachestrategien sind die Ergebnisse vergleichbar miteinander)
ATTO Liefert hier [Blockgröße, Write in MB/s, Read in MB/s]:
4k – 37 - 45
8k – 52 - 88
16k – 66 - 119
32k – 80 - 148
64k – 92 - 169
128k – 97 - 192
256k – 102 - 206
512k – 103 - 169
CrystalDiskMark (Blockgröße: 1000 MB) [Test, Read in MB/s, Write in MB/s]:
Seq – 95 - 58
512k – 113 - 49
4k – 21 – 1.4
Auch hier sacken die Schreibwerte bei ATTO auf 50% bis 70% der ursprünglichen Schreibleistung ein. Die Leseleistung steigt hier erst ab einer Dateigröße von 32k auf bis zu 20% max. mehr.
CrystalDiskMark ist nicht der gleichen Meinung. Hier sinken die Lesewerte durch die Bank. Der Schreibwert im Seq-Bereich ebenfalls.
Der Vollständigkeithalber auch die Werte bei:
Write Cache = Write Back
Read Cache = Always / Adaptive Read Ahead (auch hier haben beide Read-Cache Mechanismen keine nennenswerten Vorteile oder Nachteile zueinander)
ATTO Liefert hier [Blockgröße, Write in MB/s, Read in MB/s]:
4k – 36 - 31
8k – 75 - 91
16k – 60 - 67
32k – 90 - 95
64k – 96 - 96
128k – 90 - 192
256k – 74 - 118
512k – 89 - 105
CrystalDiskMark (Blockgröße: 1000 MB) [Test, Read in MB/s, Write in MB/s]:
Seq – 84 - 67
512k – 105 - 87
4k – 18 - 17
Im Vergleich zum Test mit Write Back und No Read Ahead bleibt hier die Schreibleistung unverändert. Die Leseleistung sinkt im gesamten sogar etwas.
CrystalDiskMark bestätigt das leichte Absinken der Leseleistung.
Mein Fazit des gesamten Tests:
Aktiviert man die Schreibcachestrategie von WT auf WB, in der Hoffnung eine höhere Schreibleistung zu erhalten, gibt es als Ergebnis Einbrüche dieser auf bis zu max. 50% der ursprünglichen Schreibleistung mit CacheStrategie WT.
Das Aktivieren des Lesecache resultiert in deutlicher Verringerung der Schreibleistung und ebenfalls der Leseleistung. Nur die Leseleistung bei Dateien ab einer bestimmten Größe wird leicht positiv beeiflusst.
Ergo: Vielleicht sollte man die Caches deaktiviert lassen. Also Write Cache = WT, Read Cache = No Read Ahead. So erhält man die insgesamt höchste Schreib- und Leseleistung. Traurig aber wahr.
Die Werte habe ich an einem weiteren System mit 2 SSDs und einem Perc 5i bestätigt.
Was sind Eure Meinungen dazu?
Gruss
Freeman