[Pro] Intel P3700 400GB PCIe SSD review: eerste ervaring met NVMe overtuigt

26 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Drie series 
  3. 3. Test
  4. 4. Iometer: 4k random read/write
  5. 5. Iometer: 1 MB sequential read/write
  6. 6. Iometer: Fileserver / Databaseserver simulatie (mixed workloads)
  7. 7. OLTP (TPC-C) database test
  8. 8. AS SSD
  9. 9. AS SSD (deelscores)
  10. 10. Continutests - Steady State Performance
  11. 11. Performance consistentie
  12. 12. Hardware.Info SSD Prestatiescore 2013-2015
  13. 13. Conclusie
  14. 14. Besproken producten
  15. 15. Reacties

Inleiding

Intel lanceerde halverwege vorig jaar met de P3700, P3600 en P3500 de eerste SSD’s die gebruikmaken van de PCI-Express interface met vier lanes en het moderne NVMe protocol. Deze combinatie zorgt ervoor dat deze professionele SSD’s tot veel hogere prestaties in staat zijn dan conventionele op Serial ATA en AHCI gebaseerde modellen. Wij testten het 400 GB exemplaar van topmodel P3700.

Intel DC P3700 400GB (PCIe x4)
Intel DC P3700 400GB in PCI-Express x4 HLHH uitvoering

In de desktopwereld is een high-end PC zonder SSD al bijna niet meer denkbaar en ook in de serverwereld nemen SSD’s in rap tempo de plek in van traditionele harde schijven. De aanzienlijk hogere prestaties van SSD’s bij sequentiële lees- en schrijfacties, maar vooral ook bij random workloads, zorgen ervoor dat de overstap naar SSD’s veel servertaken aanzienlijk kan versnellen. Zeker toepassingen als webservers – waar veel clients tegelijkertijd aanspraak maken op veel kleine bestanden – en database servers – waarbij er per definitie veel random lees- en schrijfacties zijn – kunnen flink profiteren van SSD’s. Dat kunnen we ook bevestigen vanuit onze eigen ervaring met de servers van Hardware.Info.

De meeste server SSD’s tot nu toe zijn uitgevoerd in 2,5” formaat en maken gebruik van de Serial ATA interface, net als in de desktopwereld. Dat is niet zo vreemd: door gebruik te maken van een bestaande form factor en interface zijn SSD's een drop-in replacement voor harde schijven. De Serial ATA bus, ook de courante SATA600 variant, is echter zoals bekend inmiddels een grote bottleneck voor SSD’s. De interface is beperkt tot 600 MB/s, in de praktijk eerder tot 550 MB/s, wat moderne SSD’s door het parallel aansturen van meerdere flashchips met twee vingers in de neus halen. Een Serial ATA 1200 standaard ligt niet in het verschiet, dus hebben SSD fabrikanten collectief hun zinnen gezet op PCI-Express als nieuwe interface. PCI-Express 3.0 met twee lanes is in staat snelheden tot 2 GB/s te behalen, PCI-Express 3.0 x4 gaat zelfs tot 4 GB/s.



PCI-Express 3.0 x4 biedt in theorie snelheden tot 4000 MB/s

Maar de SATA-interface is niet de enige bottleneck. Het daarbovenop gebruikte AHCI protocol is ontwikkeld in een tijd voordat SSD's op de markt kwamen en is niet bedacht op storage met zeer lage lantecy die geschikt is voor het parallel verwerken van veel I/O-transacties. Vandaar dat een consortium met daarin zo’n beetje alle partijen die een rol van betekenis spelen in de markt voor SSD’s, in 2011 kwam met een opvolger voor AHCI getiteld NVMe. NVMe biedt veel voordelen boven AHCI. Allereerst is de CPU-overhead veel lager. Om dat concreet te maken: onder Linux kost een enkele I/O-operatie bij AHCI zo’n 26.000 CPU-cycles, bij NVMe zijn dat slechts 10.000 I/O cycles. Een moderne quad-core processor is met zijn 400.000 Iops zodoende omgerekend al volledig belast met puur het aansturen van de storage, bij NVMe zou een enkele core dat aantal moeten kunnen halen.

De Intel P3700, P3600 en P3500 SSD’s maken gebruik van PCI-Express 3.0 x4 als interface. Nu zijn het zeker niet de eerste PCI-Express gebaseerde SSD’s, maar veel oplossingen tot nu toe waren in feite gebaseerd op een SATA RAID-controller in combinatie met meerdere conventionele SATA SSD-controllers, alle ondergebracht op één kaart. De Intel P-serie SSD’s zijn voorzien van een native PCIe x4 controller en ook direct de eerste die geschikt zijn voor NVMe. Die controller is in staat tot zeer hoge prestaties onder meer door het parallel kunnen aansturen van tot 18 flashchips. Ter vergelijking: SATA SSD-controllers gaan in de regel tot 8 kanalen.

Om de SSD te kunnen gebruiken hoeft de server op zich niet aan bijzondere eisen te voldoen. Wel is een relatief modern besturingssysteem vereist. Microsoft heeft ondersteuning voor NVMe sinds Windows 8.1 en Windows Server 2012 R2. Bij Linux is ondersteuning ingebakken sinds kernel-versie 3.10. Booten heeft vooralsnog wat meer voeten in de aarde: dat kan wanneer je een UEFI BIOS hebt die compatibel is met UEFI standaard 2.3.1 of hoger. Nu zullen in de server-wereld de moderne SSD’s in eerste instantie vermoedelijk primair als secundaire storage worden gebruikt, bijvoorbeeld voor het opslaan van database bestanden. Het kunnen booten is dan niet van belang. Wil je er wel van booten dan doe je er goed aan om in de handleiding van de server en/of het moederbord specifiek te onderzoeken of booten vanaf NVMe-apparaten wordt ondersteund.

Drie series 

Intel heeft drie PCI-Express 3.0 x4 en NVMe gebaseerde SSD-reeksen voor servers geïntroduceerd. De P3700, P3600 en P3500 SSD’s zijn alle gebaseerd op dezelfde controller en op 20nm Intel MLC High Endurance NAND-flashchips. De drie series verschillen in eerste instantie qua maximale prestaties – en dan voornamelijk bij random write workloads – maar ook qua ondersteunde schrijfcapaciteit. Dat laatste maakt de P3700 reeks zeer geschikt voor write intensive workloads (bijvoorbeeld een database met zeer veel schrijfopdrachten) en de P3500 juist het meest geschikt voor read intensive workloads (bijvoorbeeld een webserver).

De SSD's zijn beschikbaar in 400GB, 800GB, 1,2TB, 1,6TB en 2,0TB en in twee form factors: 2,5" en PCI-Express HLHH (Half Length Half Height) card. De P3700 die wij hebben getest is zo'n PCI-Express kaart en heeft een PCI-Express x4 connector en past zodoende in normale PCI-Express x4, x8 en x16 sloten. De 2,5" varianten, die er uitzien als "normale" SSD's, maken gebruik van de speciale SFF-8639 connector, die PCI-Express x4 middels een SATA/SATA-achtige kabel kan transporteren. Het voordeel van deze 2,5" uitvoeringen is dat ze net als conventionele harde schijven en SSD's eenvoudig in hot-swappable bays voorin een server kunnen worden geplaatst. In theorie zou er geen prestatieverschil mogen bestaan tussen de varianten uitgevoerd als PCI-Express kaart en de varianten uitgevoerd als 2,5" drive.

Intel DC P3700 400GB (PCIe x4)
De PCI-Express kaart uitvoering van de P3700 zoals wij die getest hebben.

Intel DC P3700 400GB
De 2,5" uitvoering heeft een SFF-8639 connector en daarmee ook PCIe 3.0 x4 als interface.

Onderstaande tabel toont de eigenschappen van de drie reeksen. Voor de duidelijkheid, de getoonde opgegeven snelheden zijn maximale waardes, in de regel geldend voor de grootste exemplaren binnen de serie. We zien dat de series qua prestaties vooral verschillen voor wat betreft random schrijfprestaties. De P3500 SSD's behalen tot 35.000 4K random write IOps, terwijl de P3600 en P3700 SSD's respectievelijk tot 70.000 en 180.000 IOPs kunnen behalen. Qua sequentiële lees- en schrijfsnelheden en random 4k reads zijn er ook verschillen, maar die zijn een stuk kleiner.

Op alle modellen geeft Intel 5 jaar garantie, maar het gegarandeerde aantal schrijfopdrachten verschilt flink. De P3500 SSD's ondersteunen gedurende die 5 jaar minimaal 0,3 drive writes per dag, wat bij het topmodel van 2,0 TB neerkomt op in totaal 1,06 PB aan schrijfopdrachten. De P3600 biedt drie drive writes per dag en dus in totaal 10,69 PB aan schrijfopdrachten. De P3700 is gevalideerd voor workloads bij extreem veel schrijfopdrachten, biedt minimaal 10 driver writes per dag en bij het 2TB model dus minimaal 36,5 PB aan geschreven data. Wij zouden geen enkele server workload weten waarvoor dat alsnog te weinig is.

SerieP3700 reeksP3600 reeksP3500 reeks
Beschikbare capaciteiten 400GB, 800GB, 1,6TB en 2,0TB 400GB, 800GB, 1,2TB, 1,6TB en 2,0TB 400GB, 1,2TB en 2,0TB
Interface PCIe 3.0 x4 + NVMe PCIe 3.0 x4 + NVMe PCIe 3.0 x4 + NVMe
Sequential read (up to) 2800 MB/s 2600 MB/s 2500 MB/s
Sequential write (up to) 1900 MB/s 1700 MB/s 1700 MB/s
4K random read (up to) 460.000 IOps 450.000 IOps 450.000 IOps
4K random write (up to) 180.000 IOps 70.000 IOps 35.000 IOps
Gemiddelde latency read 20 µs 20 µs 20 µs
Gemiddelde latency write 20 µs 20 µs 20 µs
Garantie 5 jaar 5 jaar 5 jaar
Endurance 10 DWPD 3 DWPD 0,3 DWPD
Beveiliging tegen stroomuitval Ja Ja Ja

Naast de bekende sequential en random lees- en schrijfsnelheden doet Intel ook expliciete beloftes over de gemiddelde latency van lees- en schrijfopdrachten, die in alle gevallen rond de 20 µs zou moeten liggen. Dat betekent impliciet dat de SSD's volgens Intel een zeer consistent prestatieniveau bieden, iets wat we uiteraard getest hebben en waar je verderop in deze review meer over kunt lezen.

De P3700 is zoals te zien in onderstaande tabel beschikbaar in 400GB, 800GB, 1,6TB en 2,0TB uitvoeringen. Onderlinge verschillen zijn er opnieuw primair op het vlak van 4k random write prestaties. Het door ons geteste 400GB model biedt tot 450.000 4K random read IOps en tot 75.000 4K random write IOps. Alle bieden dus 10 drive writes per dag, maar door de verschillende capaciteiten resulteert dat uiteraard ook in verschillende totale schrijfcapaciteiten.

SSDP3700 400GBP3700 800GBP3700 1,6TBP3700 2,0TB
Interface PCIe 3.0 x4 + NVMe PCIe 3.0 x4 + NVMe PCIe 3.0 x4 + NVMe PCIe 3.0 x4 + NVMe
Sequential read (up to) 2700 MB/s 2800 MB/s 2800 MB/s 2800 MB/s
Sequential write (up to) 1200 MB/s 1900 MB/s 1900 MB/s 1900 MB/s
4K random read (up to) 450.000 IOps 460.000 IOps 460.000 IOps 460.000 IOps
4K random write (up to) 75.000 IOps 90.000 IOps 150.000 IOps 180.000 IOps
Gemiddelde latency read 20 µs 20 µs 20 µs 20 µs
Gemiddelde latency write 20 µs 20 µs 20 µs 20 µs
Garantie 5 jaar 5 jaar 5 jaar 5 jaar
Endurance 7,3 PBW 14,6 PBW 29,2 PBW 36,5 PBW
Beveiliging tegen stroomuitval Ja Ja Ja Ja

De door ons geteste P3700 400GB kost gemiddeld € 1360, ofwel omgerekend zo'n € 3,40 per GB. Dat is gezien de beloofde prestaties en vooral de beloofde endurance hoewel hoog, geen gekke prijs. De overige modellen komen ook uit ronde € 3,40 per GB.

Winkel

Prijs NL

PCKing.de Deutschland

Betaalmogelijkheden
€ 0,00
€ 0,00
€ 3,00
€ 0,00
€ 0,00

€ 870,00

Prijsinformatie
€ 855,00
€ 15,00
€ 870,00
Op voorraad prijsopbouw
Productprijs : € 855,00 Verzendkosten NL : € 15,00 Totaalprijs : € 870,00

Megekko

Betaalmogelijkheden
€ 0,00
€ 0,00
€ 0,00
€ 0,00
€ 0,00 + 2,0%
€ 0,00
Shop: onbekend

€ 1.012,95

Prijsinformatie
€ 1.009,00
€ 3,95
€ 1.012,95
Geen voorraad prijsopbouw
Productprijs : € 1.009,00 Verzendkosten NL : € 3,95 Totaalprijs : € 1.012,95

Test

Onze SSD-test bestaat uit verschillende, veelal op Iometer gebaseerde synthetische tests, daarna twee op PCMark gebaseerde praktijktests en verder nog twee continutests. Ons testsysteem bestaat uit een Intel Core i3 3220 op een Intel Z77 chipset moederbord. Tests worden uitgevoerd onder Windows 7 x64. SSD's sluiten we uiteraard aan op een Serial ATA 600 poort met AHCI ingeschakeld. In Windows maken we gebruik van de Intel RST drivers.

Daarnaast hebben we voor deze SSD ook een OLTP databasetest gedaan in een server gebaseerd op twee Intel Xeon E5-2699 v3 "Haswell-EP" CPU's. 

Iometer tests

Middels Iometer bepalen we allereerst de random lees- en schrijfsnelheid met 4k datablokken. Juist deze tests met kleine datablokken zijn als indicatie voor de prestaties van SSD’s in de praktijk erg van belang: in Windows, maar ook in andere besturingssystemen is 4k in de regel de meest gebruikte blokgrootte waarmee harde schijven en SSD’s worden aangestuurd. De test doen we met queue-depth 1, 2, 4, 8, 16 en 32. Deze queue-depth geeft aan hoeveel gelijktijdige instructies er op een SSD worden afgevuurd. Bij QD32 kunnen SSD’s zich van hun beste kant laten zien, maar juist de prestaties bij lage queue-depth zijn van groot belang bij consumententoepassingen.

Met Iometer meten we ook de lees- en schrijfsnelheid bij grote datablokken van 1 MB. Deze test doen we bij QD32, maar juist bij dergelijke datablokken maakt de hoeveelheid parallelle verzoeken weinig tot niets uit, omdat de SSD-controller die uitstekend kan verdelen over meerdere SSD-kanalen.

Verder simuleren we de toegangspatronen van een file server en een database server met Iometer. De database test bestaat geheel uit random operaties ter grootte van 8 kB, waarvan 67% leesopdrachten en 33% schrijfopdrachten. De fileserver test uit 80% leesopdrachten en 20% schrijfopdrachten, waarbij de transfer sizes als volgt zijn verdeeld: 10% 512 bytes, 5% 1 kB, 5% 2 kB, 60% 4 kB, 2% 8 kB, 4% 16 kB, 4% 32 kB en 10% 64 kB. Zowel de file server als database test voeren we opnieuw uit met queue-depth 1, 2, 4, 8, 16 en 32.

Alle Iometer tests voeren we uit met volledig gerandomiseerde data, waardoor SSD-controllers met compressietrucs daar geen profijt uit kunnen behalen. Ook draaien alle verschillende tests minimaal 30 seconden per stuk, veel langer dan vergelijkbare tests die onderdeel uitmaken van diverse benchmark tools.

AS SSD

Hoewel we feitelijk alle relevante synthetische testdata uit IOmeter kunnen halen, draaien we alsnog ook de populaire AS SSD benchmark, dat intern ook is gebaseerd op de prestaties bij 4k datablokken (QD1 en QD64) en sequentiële lees- en schrijfprestaties. Hoewel dus redundant ten opzichte van de Iometer tests, heeft AS SSD twee voordelen: allereerst worden de scores netjes omgezet in een duidelijke totaalscore, die goede eerste indruk van de prestaties van een SSD geeft. Daarnaast kun je AS SSD ook simpel thuis draaien en zo scores eenvoudig vergelijken.

Real-world benchmarks: PCMark

De PCMark 7 en PCMark 8 real-world benchmarks gebaseerd op consumententoepassingen hebben we op de P3700 gedraaid, maar nemen we niet mee in deze review, aangezien de server SSD uiteraard niet voor dit gebruiksdoel is gemaakt. Wie geïnteresseerd is kan de resultaten echter wel terug vinden op de productpagina van de P3700 400GB SSD

Continutests

Ten slotte doen we nog een tweetal continutests, waarbij we een workload voor 30 minuten op een SSD draaien, en per minuut de gemiddelde prestaties bepalen. Allereerst doen we dit met de Iometer 4k random write test, daarnaast met de Iometer database simulatie. Beide continutests worden uitgevoerd met QD32 en op een bestand dat 75% van de capaciteit van het aanwezige flashgeheugen beslaat. Meer informatie over deze continutests verderop. Voor consumententoepassingen zijn deze continutests van weinig belang, voor het professioneel inzetten van SSD’s – bijvoorbeeld in servers – zijn de resultaten van deze tests juist belangrijker dan welke andere benchmark dan ook.

Consistentietests

Onder consistentie verstaan we hoe de prestaties van seconde tot seconde kunnen afwijken. Om de consistentie in kaart te brengen, draaien we opnieuw een Iometer 4k random write QD32 workload maar in plaats van het iedere minuut bepalen van de prestaties, bepalen we voor iedere seconde een gemiddelde. Laat het maar direct gezegd zijn: de consistentie van prestaties is voornamelijk iets wat voor de enterprise markt van belang is. Wie een SSD in een heavy duty database-server plaatst, wil er zeker van zijn dat de prestaties van de gebruikte storage voorspelbaar zijn: grote pieken en dalen kunnen leiden tot onvoorspelbaar gedrag van workloads. Voor consumentengebruik is het eigenlijk (vrijwel) niet van belang, behalve dat de prestatieconsistentie zonder meer een effect heeft op de prestaties van SSD's wanneer je ze in RAID 0 plaatst. Immers, bij een RAID 0 array worden blokken data om en om naar twee of meer disks geschreven en voor de prestaties geldt in feite dat de langzaamste schijf ("de zwakste schakel") het uiteindelijke prestatieniveau bepaalt. Wanneer één schijf een matige consistentie van prestaties heeft, zullen de algehele prestaties van een RAID 0-array relatief laag zijn, aangezien de kans dat één van beide "een dipje" heeft dan relatief groot is.

Stroomverbruik

Het stroomverbruik van SSD’s meten we gebruikmakend van een BTO W540EU laptop gebaseerd op een Intel Core i3 3120M CPU en de Intel H77M chipset. We meten het stroomverbruik van SSD’s zowel idle als tijdens een 4k random write en 1 MB sequential write workload. 

Grafieken

In de grafieken op de volgende pagina's is de Intel DC P3700 400GB te herkennen aan rode balkjes. In de grafieken nemen we ook diverse andere recent geteste server SSD's mee, zoals de Intel DC S3700 en DC 3500 en de Samsung 845DC modellen. Daarnaast nemen we ook twee snelle consumer-grade SSD's op in de grafieken; de Samsung 850 Pro 512 GB, de snelste SATA600 SSD van dit moment, en de Samsung XP941 512GB, die net als de DC P3700 gebruik maakt van een PCI-Express x4 intergave.

Iometer: 4k random read/write

Met Iometer hebben we de random leessnelheid met 4k datablokken getest, met queue depth 1 tot en met 32. 

Met queue-depth 1 verwerkt de P3700 ruim 10.000 IOps. Met QD32 komen we uit een op een waarde hoger dan 225.000 IOps. Zeker dat laatste is in vergelijking met conventionele Serial ATA SSD's ongekend hoog. In de derde grafiek zie je duidelijk dat de prestaties keurig blijven toenemen naarmate de queue-depth stijgt.

In onderstaande grafieken vind je de resultaten van de 4k write tests. Zowel bij QD1 als bij QD32 presteert de P3700 veel beter dan conventionele SATA600 (server) SSD's: met QD1 haalt de SSD al bijna een resultaat van 100.000 IOps en bij QD32 wordt de 200.000 IOps aangetikt.

Iometer: 1 MB sequential read/write

Kijken we naar de sequentiële leessnelheid, dan meten we via IOmeter ruim 2000 MB/s. De beloofde 2700 MB/s krijgen we met deze benchmark dus niet voor elkaar, maar desalniettemin zien we dat de PCI-Express 3.0 x4 interface goed benut wordt. Bij sequential writes komen we tot 1075 MB/s. Vergeet niet: de geteste 400 GB variant is zoals je op pagina 2 kon lezen op dit vlak langzamer dan de andere, grotere exemplaren. 

Iometer: Fileserver / Databaseserver simulatie (mixed workloads)

Vervolgens hebben we met IOmeter de file server en database server simulatie workloads gedraaid. Een exacte beschrijving van deze workloads vind je op de pagina met de testverantwoording.

Fileserver workload

Bij de Fileserver workload, die 80% uit leesopdrachten en 20% uit schrijfopdrachten bestaat, behaalt de P3700 bij QD32 een gemiddelde snelheid van 766 MB/s. Dat is ruim het dubbele van wat mogelijk is met een state-of-the-art Serial ATA 600 SSD. 

Database workload

Bij de database workload, die bestaat uit 67% lezen en 33% schrijven met een vaste blokgrootte van 8 kB, komen we bij QD32 uit op net geen 70.000 IOps. Ook dit resultaat is ruwweg een factor twee van wat een state-of-the-art Serial ATA 600 SSD presteert. 

OLTP (TPC-C) database test

Als extra test hebben we de Intel DC P3700 400GB getest in een echte database omgeving, gebruikmakend van een server gebaseerd op twee Intel Xeon E5-2699 v3 "Haswell-EP" CPU's. Deze server hebben we voorzien van 128 GB DDR4 werkgeheugen en CentOS 7.0 (gebaseerd op Red Hat Enterprise Linux 7.0) als OS. De P3700 plaatsen we als secundaire drive, puur voor het huisvesten van het database array. Het besturingssysteem installeerden we op een Intel DC S3500 SATA600 server SSD.


De server waarin we de P3700 SSD hebben geplaatst.

Om de prestaties bij een echte database in kaart te brengen, maakten we gebruik van de TPC-C MySQL benchmark van Percona. De Percona TPC-C test lijkt qua opzet erg op de officiële TPC-C benchmark die door serverbouwers wordt gebruikt. De officiële benchmark werkt echter met een immens grote dataset, zodat het behalen van een topscore daarmee alleen mogelijk is met peperdure storage systemen. Wij draaiden de Percona variant met 1000 Warehouses, wat resulteert in een database van ruim 260 gigabyte. TPC-C is een zogenaamde OLTP, ofwel On-line Transaction Processing benchmark. TPC-C simuleert een complexe handelsomgeving, inclusief het inboeken en verwerken van orders, het verwerken van betalingen, het controleren van de status van orders en het bijhouden van voorraden in magazijnen.

Als database software maken we gebruik van MariaDB versie 10.0.15. Voor de niet-kenners: MariaDB is een fork van MySQL gemaakt door de oorspronkelijke ontwikkelaars van MySQL en bevat vele optimalisaties. MariaDB is tegenwoordig in meer en meer Linux distributies de standaard database server (in plaats van MySQL) en ook de Hardware.Info servers draaien op MariaDB. Om ervoor te zorgen dat we de SSD testen en niet het intern geheugen van de server hebben we MariaDB zo getuned dat er "slechts" 16 GB gebruikt wordt voor de InnoDB buffer. Tijdens de benchmark zal het gros van de data dus van de SSD's moeten komen en sowieso worden alle writes natuurlijk naar de SSD doorgestuurd.

We hebben de benchmark gedraaid met achtereenvolgens concurrency 4, 8, 12, 16, 24, 32, 48, 64, 96 en 128. De concurrency is het aantal queries dat gelijktijdig op de database wordt afgevuurd. Voor het draaien van de benchmark hebben we de SSD ruim vijf uur laten "warm draaien" om er zeker van te zijn dat deze in steady state modus draait. Alle tests hebben we daarna gedurende anderhalf uur per concurrency gedraaid. De getoonde scores zijn verder het gemiddelde van drie runs van 1,5 uur voor iedere concurrency.

Naast de Intel P3700 PCI-Express SSD hebben we deze test ook gedaan op een Intel DC S3500 480GB Serial ATA 600 server SSD. En om het voordeel van een SSD helemaal duidelijk te maken hebben we de test ook gedraaid op een Western Digital 2,5" Scorpio Black 7200rpm 750GB conventionele harde schijf. Onderstaande tabel toont de resultaten.

ConcurrenyWestern Digital
Scorpio Black 750GB
SATA600 HDD
Intel
S3500 DC 480GB
SATA600 SSD
Intel
DC P3700 400GB
PCIe x4 SSD
4 122 IOps 7806 IOps 17518 IOps
8 180 IOps 9475 IOps 28293 IOps
12 213 IOps 9827 IOps 32612 IOps
16 201 IOps 9751 IOps 35835 IOps
24 217 IOps 9652 IOps 40252 IOps
32 232 IOps 9592 IOps 42080 IOps
48 236 IOps 9763 IOps 44117 IOps
64 237 IOps 9710 IOps 45033 IOps
96 239 IOps 9586 IOps 46300 IOps
128 239 IOps 9458 IOps 46373 IOps

In de tabel zien we wat iedere database serverbeheerder die is overgestapt op SSD's waarschijnlijk al weet: juist bij dit soort workloads met veel random access presteren SSD's ongekend veel beter dan harde schijven. De 7200 rpm harde schijf komt uit op maximaal zo'n 235 IOPs. Vanzelfsprekend zou het plaatsen van meerdere HDD's in RAID en het gebruiken van 10k of 15k rpm HDD's dit niveau nog wel wat kunnen verbeteren, maar je zult je best moeten doen om boven de 1000 IOps uit de komen. De Intel DC S3500 DC 480GB komt in zijn eentje uit rond de 9600 IOps en kan dus ruim 40x meer queries verwerken dan de harde schijf. Met voldoende hoge concurrency piekt de DC P3700 400GB bij een prestatieniveau van boven de 45000 IOps; nog eens bijna 5x sneller dan de Serial ATA 600 gebaseerde server SSD en bijna een 200x hoger prestatieniveau van de 7200rpm HDD. 

De getallen wijzen wel uit dat de SSD echt zeer geschikt is voor gebruik in database servers.

Ter volledigheid is dit de volledige MariaDB configuratie zoals gebruikt:

[mysqld]
port = 3306
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
user = mysql
key_buffer = 1536M
max_allowed_packet = 64M
table_open_cache = 10000
table_definition_cache = 10000
sort_buffer_size = 8M
read_buffer_size = 4M
read_rnd_buffer_size = 8M
thread_cache_size = 64
query_cache_limit = 2M
query_cache_size = 384M
query_cache_type = 1
join_buffer_size = 4M
tmp_table_size = 128M
max_heap_table_size = 128M
max_user_connections = 350
max_connections = 450
long_query_time = 2
wait_timeout = 60
interactive_timeout = 7200
log-error = /var/log/mysql/error
slow_query_log = 0
slow_query_log_file = /var/log/mysql/slow-queries
low_priority_updates = 1
concurrent_insert = 2
group_concat_max_len = 1M
transaction-isolation = READ-UNCOMMITTED
max_connect_errors = 999999999
collation_server = utf8_unicode_ci
character_set_server = utf8
tmpdir = /tmp
performance_schema = 0

innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:20M:autoextend
innodb_buffer_pool_size = 16G
innodb_buffer_pool_instances = 16
innodb_log_group_home_dir = /var/lib/mysql/
innodb_log_files_in_group = 2
innodb_log_file_size = 1G
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT
innodb_file_per_table = 1
innodb_open_files = 10000
innodb_lock_wait_timeout = 7200

AS SSD

AS SSD werkt met oncomprimeerbare data. Net als bij onze Iometer-tests hebben SSD's met een SandForce-controller hier dus geen voordeel van de ingebouwde compressietrucjes.

AS SSD doet zowel lees- als schrijftests. Eerst wordt er getest met datablokken van 4 kB, met één instructie tegelijkertijd en daarna met 4 kB datablokken met 64 gelijktijdige instructies. Ten slotte wordt ook een sequentiële lees- en schrijftest uitgevoerd, die een maat geeft voor het werken met zeer grote bestanden. Op basis van alle tests bepaalt AS SSD ook een totaalscore. Hoewel de tests grotendeels dubbelop zijn met de Iometer tests, draaien we SSD's omdat je deze benchmark zelf ook eenvoudig kunt draaien om zo een vergelijking te maken met je eigen SSD.

De Intel DC P3700 400GB komt uit op een totaalscore van 3729 punten, waar de snelste Serial ATA 600 SSD's onder de 1200 punten blijven. Ook hier dus duidelijk een zeer groot prestatieverschil. De deelscores op de volgende pagina tonen aan dat de P3700 op alle testonderdelen uitmuntend scoort.

AS SSD (deelscores)

4k blokken lezen - single threaded

4k blokken lezen - 64 threads

Sequentieel lezen

4k blokken schrijven - single threaded

4k blokken schrijven - 64 threads

Sequentieel schrijven

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 Intel DC P3700 400GB start de 4k random write workload met een prestatieniveau rond de 750 MB/s. Na zo'n 20 minuten zijn de prestaties gestabiliseerd, net boven de 508 MB/s. Hiermee is de SSD zo'n 2,5x sneller dan Intels eigen SATA600 gebaseerde tegenhanger DC S3700 800 GB, maar ook aanzienlijk sneller dan de op dit vlak zeer goed presterende Samsung 845DC Pro SSD's.

Database simulatie QD32

Ook in de database simulatie biedt de Intel P3700 400GB een uitstekende steady state presatieniveau. Na circa een uur stabiliseren de prestaties net boven de 400 MB/s, opnieuw duidelijk sneller dan bij de eerder door ons geteste SATA- en SAS-gebaseerde server-SSD's.

Performance consistentie

Om de consistentie van de prestaties in kaart te brengen hebben we nogmaals een 4k random write workload op de SSD's gedraaid met queue-depth 32: 10.000 seconden lang, waarbij we iedere seconde de prestaties monitoren. In onderstaande grafieken zie je de prestaties (uitgedrukt in IOps) afgezet tegen de tijd: eerst voor de gehele testduur, daarna voor het gedeelte van 9800 tot en met 10000 seconden. Voor die laatste periode hebben we de standaardafwijking bepaald, die vergeleken kan worden in de onderste grafiek. Hoe lager deze standaardafwijking, hoe beter de consistentie.

Intel DC P3700 400GB (PCIe x4)

Intel DC P3700 400GB (PCIe x4)

In de grafieken is duidelijk te zien dat de P3700 de workload zeer consistent blijft verwerken, zonder spikes naar boven of onder. We komen uit op een standaardafwijking van 2261 IOps. Dat hebben we bij recent geteste server SSD's nog wel eens lager gezien, maar afgezet tegen het absolute prestatieniveau van zo'n 130.000 IOps is het peanuts. Ofwel: ook op dit vlak prima prestaties.

Hardware.Info SSD Prestatiescore 2013-2015

Ten slotte tonen we ter volledigheid nog de Hardware.Info SSD Prestatiescore 2013-2014. Hoewel deze primair is bedacht op de prestaties bij consumentengebruik, geeft het een mooie maar voor het prestatieverschil tussen SSD's onderling. De prestatiescore wordt bepaald door het meetkundig gemiddelde te nemen van de belangrijkste benchmarks (AS SSD, Iometer 4k R/W, Iometer seq. R/W, PCMark7, PCMark8 en beide continutests) en dat te normaliseren, zodat de best presterende SSD uit onze voorlaatste grote vergelijkingstest (de OCZ Vector 150) op 100 punten uitkomt.

We komen uit op een score van 233 punten. Dat is ruim het dubbele van de snelste Serial ATA 600 SSD.

Conclusie

Met de P3700 SSD zet Intel een nieuwe benchmark neer voor server SSD's. De SSD met PCI-Express 3.0 x4 interface maakt op pijnlijke wijze duidelijk dat Serial ATA 600 en SAS 600 anno 2015 een gigantische bottleneck vormen voor SSD's, zeker in de servermarkt.

De resultaten zoals getoond in de OLTP database test op pagina 7 zijn het meest tekenend. In deze real-world database benchmark verwerkt de P3700 400GB bijna 5x meer transacties per seconde dan een Intel server-grade Serial ATA 600 SSD en bijna 200x meer dan een conventionele 7200 rpm harde schijf. En dan moet je nog bedenken dat de 400GB uitvoering zoals wij die hebben getest de langzaamste uitvoering is van de P3700 reeks, de grotere modellen zijn volgende de specificaties nog sneller. Ook de andere benchmarks tonen een zeer hoog prestatieniveau, terwijl onze consistentietest aantoont dat de Intel ook op dit vlak niets te wensen over laat.

Met 10 volledige drive writes per dag zal de P3700 SSD geschikt zijn voor zelfs de meest write-intensive server workloads, waarvan (OLTP) databases natuurlijk een mooi voorbeeld zijn. De prijs van omgerekend € 3,50 per GB is natuurlijk pittig maar gezien het prestatieniveau en het ondersteunde aantal schrijfopdrachten naar onze mening zeker niet te hoog. De gigantische prestatiewinst ten opzichte van Serial ATA 600 SSD's, laat staan ten opzichte van harde schijven, maakt dat het een investering is die in veel gevallen vermoedelijk eenvoudig terugverdiend kan worden doordat een enkele database server op deze manier vele meer transacties dan voorheen kan verwerken.

Ten slotte: wie als consument zit te watertanden bij prestaties als deze zal blij zijn met het feit dat Intel spoedig een consumer-grade SSD gebaseerd op dezelfde controller en dezelfde technologie als de P3700 op de markt gaat brengen. Hou Hardware.Info in de gaten, want een review van deze Intel SSD 750 zal niet lang meer op zich laten wachten. 


Intel DC P3700 400GB


Besproken product

Vergelijk  

Product

Prijs

Gold Award Intel DC P3700 400GB (PCIe x4)

Intel DC P3700 400GB (PCIe x4)

  • 400 GB
  • PCI-Express
  • 2700 MB/s
  • 1080 MB/s
  • PCIe x4 uitbreidingskaart

€ 870,00

1 winkel
0
*