5 yleisintä pullonkaulaa tiedon tallennuksessa

Monesti törmäämme suorituskykyongelmiin tiedon tallennuksessa ja tätä vasten olemme kasanneet muistilistan yleisimmistä ongelmien aiheuttajista ja näkökulmia niiden taklaamiseen. Jaamme nyt tämän listan Teille ja mikäli tällä ei selviä niin mielellämme tulemme myös sparraamaan asiaa kanssanne!

1. Kaikki kulminoituu I/O:hon

Kaikista yleisin kohtaamamme suorituskykyongelman aiheuttaja on riittämätön tallennus-I/O. Nykyinen tiedon määrän ja tallennusjärjestelmää käyttävien sovellusten määrän kasvu on aiheuttanut sen, että monissa organisaatioissa tallennusjärjestelmä ei ole pysynyt perässä vaan on jäänyt jälkeen joko suorittimiltaan tai tallennusmedioiltaan. Esimerkiksi transaktio-pohjaiset tietokannat tai virtuaalityöasemat (VDI) ovat nykyaikaisia työkuormia, jotka kuormittavat tallennusjärjestelmää huomattavasti.

Perinteinen vastaus tähän on lisätä SSD/Flash –levyjä järjestelmään, mutta ongelma näissä on arkkitehtuurin vanhuus eli suorituskyvyn kohdentaminen on haasteellista. Monet laitevalmistajat tukevat tallennuskerros – arkkitehtuuria ("storage tiering"), jossa ajatuksena on siirtää dataa eri levytyyppien välillä. Valitettavasti valtaosassa tapauksissa tämä ei reagoi riittävän nopeasti muuttuviin työkuormiin. Toinen näkökulma on käyttää SSD/Flash:ia muistin jatkeena joko luvuille, kirjoituksille tai molemmille. Tämä toimii paremmin monissa ympäristöissä, mutta monesti haasteeksi osoittautuu hinta, perinteiset ratkaisut eivät ole suunniteltu tähän muistimäärään ja vaativat lisäkoodia sisään, joten normaalisti sillä on oma hintalappunsa (SSD levyistä puhumattakaan). Toisaalta monet uudet toimijat ovat ratkaisseet I/O ongelmat rakentamalla järjestelmänsä alusta alkaen käyttämään SSD/Flash – teknologiaa tuoden näin murroksen perinteiseen tallennusajatteluun.

2. Levylatenssi

Perinteisessä tallennuksessa levylatenssi muodostuu siitä ajasta joka järjestelmällä kestää löytää määritelty data levyiltä. Latenssi voi aiheuttaa vakavia ongelmia erityisesti paljon satunnaislukuja tekevissä järjestelmissä (esim. tietokannat). SSD –levyt tarjoavat huomattavasti paremman suorituskyvyn (jopa 300 kertaa enemmän I/O suorituskykyä) perinteisiin levyihin nähden. SSD:tä hyödyntämällä saadaan latenssi pienemmäksi (normaali SSD-latenssi pyörii 0,5-1 millisenkunnin välillä), mutta SSD:n ongelmana on tänä päivänä edelleen korkea hinta. Globaali trendi onkin, että hintapoliittisesti optimoidaan valitsemalla moderni hybridi-tallennusjärjestelmä. Tässä uhrataan suorituskykyä hinnan puolesta, mutta kokemuksemme mukaan varsinkin Suomessa tämä on sen arvoista. Modernit hybridijärjestelmät (Kuten Nimble Storage) on rakennettu pohjalta lähtien hyödyntämään SSD:tä, joten niillä saadaan hyvää suorituskykyä, mutta samalla kustannustehokkuutta tallennukseen.

3. Tallennuskerrosten tasapaino

Kuten todettu aiemmin, monet valmistajat tukevat datan liikuttamista eri levytyypeistä muodostuvien tallennuskerrosten välillä ("tiering". Datan liikuttaminen rasittaa aina järjestelmän suorittimia mistä johtuen perinteiset toimijat tekevät sen vain määriteltyinä aikoina (esim. kerran vuorokaudessa kuten EMC. Tallennuskerroksia käytettäessä onkin tärkeää seurata organisaation datan käyttöä ja sen pohjalta suunnitella levykerrokset vastaamaan oikeaa tarvetta. Huono tasapaino (esim. liikaa hidasta levyä) voi aiheuttaa sen, että tarvittava data on sellaisessa kerroksessa josta sen hakeminen kestää kauan.

4. Tallennusverkko

Ilman hyvää tallennusverkkoa on hankala saada kunnollista suorituskykyä tallennukseen. Porttityypit ja nopeudet sekä niiden määrä voivat olla ratkaisevia tekijöitä ympäristön toiminnalle. Huonosti suunnitellussa verkossa voi törmätä datan katoiluun, josta aiheutuva datan uudelleen haku ja porttineuvottelut voivat aiheuttaa varsinaiselle työlle suorituskykyongelmia. Panostamalla nopeaan verkkoon ja rakentamalla useita datapolkuja (esim. LACP:lla) varmistetaan se, että verkkokerros ei ole pullonkaulana tiedon tallennukselle.

5. Palvelin suorituskyky

Monesti ei ajatella, että tallennuksen suorituskykyyn voivat vaikuttaa muutkin tekijät kuin varsinainen tallennusjärjestelmä. Edellä mainittu verkko sekä itse tuotantopalvelimet ovat molemmat sellaisia kerroksia, joissa voi syntyä ongelmia. Mikäli palvelimissa eivät riitä laskentateho ja muisti, kärsii siitä koko tallennusketjun suorituskyky. Toisaalta, jos palvelimet ovat todella tehokkaita ja tekevät paljon nopeaa I/O:ta, täytyy verkon ja tallennusjärjestelmän kyetä vastaamaan siihen. Tästä johtuen monet perinteisiä tallennusjärjestelmiä ajavat ovat alkaneet käyttää palvelimiin asennettavia Flash-kortteja, jotka toimivat muistinjatkeena ja näin alentavat tallennusjärjestelmään kohdistuvaa lukukuormaa.

Tallennusjärjestelmän ulkopuolisia suorituskykyhaasteita on hankala lähteä tunnistamaan perinteisin keinoin, mutta onneksi jotkut toimijat ovat tuoneet tllennusratkaisuihinsa näkyvyyttä myös tälle puolelle (kuten Tintri virtuaaliympäristöille).

 Kokonaisuutena Tradecin Niko antaa 6 vinkkiä tallennuksen suorituskykyyn liittyen:

1. Seuraa I/O:ta
2. Minimoi levylatenssi
3. Tarkista levykerrokset
4. Varmista verkon nopeus
5. Tehosta palvelimet
6. Seuraa jatkuvasti tallennusympäristön toimintaa ja suorituskykyä

Mikäli nykyinen tallennusratkaisunne ei yksinkertaisesti suoriudu sille määritellyistä tarpeista, ei pidä pelätä tutustua muihin, uudempiin ratkaisuihin. Monet yritykset maailmalla ja jopa Suomessa ovat havainneet, että perinteinen ei ole aina paras. Me Tradecilta tulemme mielellämme esittelemään Teille suuren maailman tuulia ja uusia ratkaisuja!

 
  • riverbed-technology-inc-logo

  •  tintri-logo-250

  •  

    EMC-logo