Continutests - Steady State Performance
Zeker voor wie een SSD professioneel gaat toepassen zijn de zogenaamde steady state prestaties, ofwel het prestatieniveau waarop een SSD stabiliseert na langduring intensief gebruik, erg van belang.
Eerst wat achtergrondinformatie. We hebben meermaals geschreven dat data op een SSD per zogenaamde 'pagina', hoeveelheden van meestal 4, 8 of 16 kB, weggeschreven en uitgelezen kan worden. Om data te kunnen wegschrijven moeten datacellen echter eerst gewist worden: dat kan alleen per blok. Zo'n blok bestaat uit 128, 256 of 512 pagina's. Dit gegeven zorgt ervoor dat SSD's slimme trucjes moeten uithalen. Wanneer een aantal pagina's aan data verwijderd moet worden, moet eerst de rest van de data uit het blok gekopieerd worden naar een ander blok, waarna het gehele blok geleegd kan worden. In de praktijk betekent het dat SSD-controllers schrijfacties zoveel mogelijk opzamelen, deze vervolgens tegelijk naar nieuwe, vers geleegde blokken uitvoeren en tegelijkertijd verwijderacties pas op gezette tijden uitvoeren. Op die momenten, wanneer de SSD niets te doen heeft, schakelt de in de controller ingebakken garbage collector in, die verwijderacties daadwerkelijk doorvoert op chipniveau en overbleven data zoveel mogelijk combineert in volle blokken, om op die manier zoveel mogelijk blokken volledig leeg te kunnen maken.

Wanneer de SSD echter lange tijd continu, dus zonder een seconde rust, gebruikt wordt, kan de garbage collector niet tussendoor aan de slag. Op een gegeven moment zijn er dan geen lege blokken meer over en zal de SSD tussen het uitvoeren van commando's door aan garbage collection moeten gaan doen. Het resultaat: de prestaties worden lager. Het prestatieniveau waarop een SSD in zo'n geval op stabiliseert noemen we de steady state performance.
Wij doen twee verschillende continutests om deze steady state performance in kaart te brengen. Beide tests draaien we met Iometer, waarbij we de workload bij enterprise SSD's voor 10 uur ofwel 600 minuten continu laten draaien er per minuut de gemiddelde prestaties noteren. De eerste continutest is de 4k random write QD32 benchmark. De tweede continutests is de Iometer database workload simulatie, eveneens gedraaid met queue depth 32. Beide tests draaien we op een testbestand dat 75% van de schijfcapaciteit (LBA) beslaat.
Bij beide tests publiceren we eerst een grafiek over tijd en daarna het gemiddelde prestatieniveau in de laatste 20 minuten, wanneer het steady state niveau bereikt is.
4k random write QD32
De beide Samsung 845DC Pro SSD's starten de 4k random write test rond de 330 MB/s, maar na 40 à 50 minuten stabiliseren beide SSD's op een prestatieniveau rond de 300 MB/s, ofwel circa 75.000 IOps. Het is opvallend dat dit aanzienlijk beter is dan het in de specificaties opgegeven niveau van 51.000 IOps. De Intel DC S3700 zakt na zo'n 40 minuten in tot steady state niveau en stabiliseert zich uiteindelijk rond de 190 MB/s.
In de tweede grafiek zien we duidelijk dat de steady state 4k prestaties van zowel de Samsung 845DC Pro als de Intel DC S3700 aanzienlijk hoger zijn dan van de 845DC Evo drives en dat Samsung duidelijk de beste prestaties biedt.
Database simulatie QD32
In de database simulatie blijken de rollen omgedraaid. De Intel DC S3700 lijkt duidelijk meer geoptimaliseerd voor een mixed read/write workload dan de puur synthetische 4k random write workload uit de vorige test. De SSD blijft zo'n 40 minuten op z'n maximale prestaties werken, daarna zaken de prestaties in om na zo'n twee uur te stabiliseren rond de 270 MB/s. De beide 845DC Pro drives bereiken ook na circa twee uur hun steady state niveau, dat een fractie lager ligt dan bij Intel. De Evo's zijn opnieuw duidelijk langzamer.
3 besproken producten
| Vergelijk | Product | Prijs | |
|---|---|---|---|
|
Intel DC S3700 800GB
|
Niet verkrijgbaar | |
|
Samsung 845DC Pro 400GB
|
Niet verkrijgbaar | |
|
Samsung 845DC Pro 800GB
|
Niet verkrijgbaar |