Negibno, neslišno in zelo hitro … ali drugače povedano: SSD

12. 12. 2008 v kategoriji Za lastnike spletnih strani in SEO

V člankih na internetu in tiskanih medijih smo zadnje čase precej prebirali o tem, kako tehnologija v računalništvu napreduje z eksponentno rastjo. Naj vas spomnim na Moorov zakon.

Moorov zakon dejansko drži in včasih imam občutek, da ga je zapisal celo preveč konzervativno. Procesorske zmogljivosti namreč rastejo res zelo zelo hitro in dandanes imamo v najcenejših računalnikih nekajkrat zmogljivejše procesorje, kot jih je imel v uporabi Najdi.si leta 2000 in 2001. Če se prav spomnim, smo takrat v naši produkciji imeli strežnike s procesorji PIII-800 MHz in 1000 MHz, ki so bili višek takratne tehnologije. Danes je vsak Celeron veliko zmogljivejši od takratnih strežniških procesorjev.

Že v tistih časih pa smo trčili na nepremostljivo oviro, in sicer hitrost diskovnega podsistema. Ta je bil vedno prepočasen za naše zahteve. Že v namiznih računalnikih nam pogosto dela največ sivih las ravno dostop do podatkov na disku, od katerih najbolj bolijo ravno dostopni časi.

Da ne bom dolgovezil z zgodovino in leporečjem, bom prešel k stvari. Ja, zadnje čase se je začelo spet na veliko govoriti o SSD-jih. Člankov na internetu na to temo je veliko. Letos nas je z vstopom na ta trg prijetno presenetil Intel s svojim SSD diskom, katerega smo imeli priložnost dobiti na test tudi mi, pravzaprav dva kosa. Z zmogljivostmi smo bili več kot zadovoljni, saj delajo precej hitreje kakor kot omara veliki diskovni sistemi, ki jih prodajajo »Veliki« – imen namenoma ne bom omenjal, da se komu ne zamerim ;). Pred leti smo že testirali SCSI različice SSD-ja proizvajalca M-Systems iz Izraela, ki ga nismo mogli niti dobiti na test, tako da smo ga morali za takrat res velike denarje kupiti in smo bili zelo razočarani.

Tokrat pa je Intel zares presenetil. Ker na trgu še ni dovolj velikih diskov enterprise različice, smo se odločili kar za test desktop variante s kapaciteto 80GB. Nad hitrostjo smo bili navdušeni. Pohitritve na nivoju dostopov do diska v okoljih s podatkovnimi bazami so kar 15-kratne in to za pičlih nekaj 100 € ter vse to na enem disku. Če diska povežemo bodisi v span ali v RAID0, so pohitritve še večje.

»Za hiter rajc«, kot je napisal moj kolega po kakšni uri, potem ko smo dobili SSD-je, pa ga bom kar citiral (morda bo na to temo še napisal kakšen blogpost):

za hiter rajc:

na sm-1.si.pre sem zapalil precej ceski query, ki je delal full scan dveh tabel (torej orenk random read), enkrat na ssd, enkrat na navadnem disku

mehanic: 760kb/s, 200 r/s
ssd: 16mb/s, 3400 r/s

Pohitritev na nivoju SQL-a je taka, da na enem SSD-ju lahko izvedemo queryje, ki trajajo nekaj deset minut, taisti queryji pa na mehaničnih diskih niso zaključeni niti v nekaj urah.

Še en mali query, ki vrne nekaj čez 6 mio. zapisov:

SELECT COUNT(*) FROM F_ANCHORTEXT,F_PAGE2 WHERE
F_PAGE2.ID=F_ANCHORTEXT.ID AND RESPONSE_CODE = ‘-200′ AND TEXT = ”;
+——————————+
| COUNT(*) |
+——————————+
| 6475834 |
+——————————+
1 row in set (27 min 40.93 sec)

Ta isti query na mehaničnem disku ni bil zaključen niti po treh urah in ker se nam ni ljubilo čakati, smo ga prekinili. Na mehaničnem in SSD disku je bil zaganjan samo ta query, tako da tukaj ne govorim o večnitnosti. V primeru več hkratnih poizvedb, je razlika med SSD-jem in mehaničnim »super duper« diskom še večja, ker mehanični disk pač ovira mehanika, SSD pa ne.

Podatkovni strežniki, ki jih uporabljamo, so stroji s SAS diskovjem, 15krpm, 32 GB pomnilnika, veliko procesorske moči, 64 bitni, kakopak. Vse indekse smo imeli v RAM-u in dosegli smo maksimalno hitrost SQL baz, medtem ko so se procesorji dobesedno »sončili na Havajih«. Testirali smo tudi »velike omare s FC diski za veliko denarja« pa so bile zmogljivostne razlike zelo majhne. Odkar pa smo v te strežnike zmontirali SSD diskovje (ja, med tem smo kupili svoje diske) so strežniki precej bolj uporabni in uporabljani. Med produkcijskim delovanjem lahko izvajamo pregled baz, diagnostiko in vse kar hočemo, pa delajo hitreje kot prej. Indeksov ne rabimo več tlačiti v RAM, ker delajo zadosti hitro z diskovnega podsistema, RAM pa lahko uporabljamo tako za aplikacije, ki zdaj lahko obravnavajo občutno več podatkov, kakor tudi za filecache.

Skratka, obeta se nam, da bomo končno lahko izkoristili vso procesorsko moč strežnikov, ne da bi čakali na dolgotrajne I/O operacije. Za nameček pa so SSD-ji neslišni, zelo majhni (standardne velikosti za montažo v laptop – saj veste, da me srbijo prsti) in trošijo malo elektrike. Zavedamo pa se nevarnosti flasha in obstojnosti podatkov.

Že nekaj časa krožijo tudi govorice o res hitrem SSD disku proizvajalca FusionIO. Njih sem kontaktiral že nekajkrat lani, pa letos tudi in do danes nisem dobil nobenega odgovora. Pred nekaj tedni pa se je pojavila tudi tale novica proizvajalca Micron.

Zelo me zanima odgovor Intela in drugih proizvajalcev SSD-jev na ta izziv. Toliko za začetek. Glede te teme pa lahko pričakujete še kakšen »updejt«.

Razmišljam tudi, da bi se kaj razpisal še o bolj tehničnih temah, kot so recimo upravljanje strežnikov, nadzor delovanja, morda visoka razpoložljivost na tistem najnižjem nivoju, od hlajenja, napajanja morda omrežja, težavah in težavicah, pa naših izkušnjah in kakšno priporočilo, kako se tudi vi lahko lotite stvari. Tema, ki jo imam v paci, pa je, morda razni triki, kako smo sami iz naših indeksnih strežnikov iztisnili največ kar se da, namreč da tudi z mehaničnim diskom iztisneš 100% procesorske moči (na osmih corih da ne bo pomote), brez waita (no ja, kakšen procent že), z zelo malo context switchev, tokrat SATA diskovje in ne SSD ter celih 32 GB pomnilnika. Za javance pa bi lahko napisali kaj o Garbage Collectorju, različnih JVM-jih, katerega uporabiti, kako kaj nastaviti (no, kako nastavljamo mi), kaj se nam obnese in kaj ne. Povejte, kaj vas zanima.

Do takrat pa, lepo se imejte.

Aleš Perme

Tagi: ,

1 Odziv to “Negibno, neslišno in zelo hitro … ali drugače povedano: SSD”

  • AndrejH
    15. 2. 2009 ob 1:01

    Živijo, informacij o tehničnih temah ni nikoli dovolj. Verjamem da imate dovolj izkušenj in znanja, da nam predstavite še kaj od naštetega. Z veseljem bom prebral :)

    LP