Valaha rég, egy messzi-messzi gépteremben...
Nehéz idők járnak a mérnökökre. A Karácsonyi forgalom erői elűzték őket titkos bázisukról, és könyörtelenül a riasztásukra törtek. Az infrások egy kis csapata új upgrade beépítésébe fogott a datacenter hidegfolyosóján. Az elvetemült Fekete Péntek hatására, aki megszállottan kutatja a gigabájtok nyomát, api hívások ezrei rajzanak ki az űrbe, hogy az üres meghajtók nyomára leljenek....
Na jó nem egészen így történt, de a lényeg az, hogy pár túlméretes DB-vel már nem bírtunk. Ezért aztán igyekeztünk megelőző csapást mérni mielőtt tényleg kifutunk a helyből. Az eredmény nem halálcsillag, de valami olyasmi ami már érdekes lehet nektek is.
A hardver erős közepes. Mindenből lehetne jobbat venni, de kb. ez az a pont ahol az árak meglódulnak és nem sokat nyernénk az ügyön. A gépen futó mysql sem skálázódik egy ponton túl, ami nagyjából ennek a vasnak felel meg. Hogy mi is a hardver?
Szerver: DL360 Gen9
CPU: 2x E5-2687W v4 (2x 12 mag @3GHz )
RAM: 256GB
Storage: 2x 600GB 15k SAS és SSD
Ez nem rossz hazai felhasználóknak, de szerverekből van jobb is. Az háttértár ami érdekesebb. SSD-t (fusionIO) használunk a DB alá, ami nem meglepő. Ez PCIe-es tárolót jelent, amit megpróbáltam pár programmal megfuttatni. Fontos megjegyezni, hogy ezek a programok nem mondanak el semmit arról, hogy hosszabb távon terhelés alatt mit teljesítenek ezek az SSD-k, mert csak kis adatmennyiséggel mérnek. De még ha 1 napik gyűrném akkor is messze lennék a valós használattól. Hogy mit értek valós felhasználás alatt? Valami ilyesmit, bár ez sem a legdurvábban használt fusionIO:
Active media: 100.00%
Rated PBW: 11.00 PB, 51.28% remaining
Lifetime data volumes:
Physical bytes written: 5,359,730,564,168,152
Physical bytes read : 4,945,339,612,065,888
Szóval lehet hogy az alábbi mérések alapján van gyorsabb meghajtó. Van olyan is ami jobban bírja a terhelést, de nem rossz darabok. Van amelyiket lassan 3 éve használjuk és amikor még nem voltak nagy méretű PCIe meghajtók. A tesztelt meghajtó friss, ami látszik a drive info-n. A képek nagyíthatóak.
Crystal Bench-ben láttam már jobb eredményt NVMe-től. De a fusionIO kártyák hamarabb kerültek piacra ha jól emlékszem és ebben a méretben nem volt anno alternatívájuk. Ma már persze van, de kicsit később leírom miért maradt mégis ez a kártya.
A HD Tach eredmény nagyon szép. Még hosszabb tesztelésnél sem esik az olvasási teljesítmény.
Az AS SSD Benchmarkban az egy szálas 4K kicsit alacsony. Mármint alacsonyabb, mint egy jóvágású NVMe. A késleltetése is kicsit magasabb, de azért 15-16 mikromásodperc nem rossz. Az IOPs ugyanezt tükrözi. Mysql-ben főként több instance mellett simán láttam 200MB/sec-es írást huzamosabb ideig. Nyugalmasabb időben ez csak 30-40MB/sec, de ahol most upgradeltünk ez ritka
Az ATTO Disk Benchmark maradt a végére. Nekem a legfontosabb a 16k write érték, mert ez az amit a mysql is használ az InnoDB-hez. Az olvasást meg cacheljük memóriában. Azért az írás, mert 256GB-ból azért eleget oda lehet adni buffernek, hogy ne kelljen sokat olvasni.
Most kérdezhetitek, hogy ez szép, de ilyet már máskor is postoltam, csak akkor Dell és NVMe volt a képen. Igen, azok új gépek voltak, most pedig bővítés történt. Valahogy így néz ki belülről és ha jobban megnézitek látható, hogy miért haláli a gép.
Ez a gép így erősebb az átlagosnál. 2x6 mag helyett 2x12. De az és mellé nagyobb tároló is jutott: 1x 3.2TB helyett 3x 3.2TB. Keverni nem akartuk, ezért lett még egy fusionIO SSD, nem pedig NVMe. Ráadásul ezeket összefogták a kollégák gyorsan RAID0-ba, hogy nehogy valamelyik lazsáljon.
$ cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 fioc1[2] fiob1[1] fioa1[0]
9374601216 blocks super 1.2 512k chunks
Persze ugyanezt ismételtük egy NVMe-s géppel is, mert mi van, ha belefutunk valami hardver vagy szoftver bugba, csak arról nincsenek (még?) méréseim.