Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Hjá Skyeng notum við Amazon Redshift, þar á meðal samhliða stigstærð, svo okkur fannst þessi grein eftir Stefan Gromoll, stofnanda dotgo.com, fyrir intermix.io áhugaverð. Eftir þýðinguna, smá af reynslu okkar frá gagnaverkfræðingnum Daniyar Belkhodzhaev.

Amazon Redshift arkitektúr leyfir skala með því að bæta nýjum hnútum við þyrpinguna. Þörfin fyrir að takast á við hámarksfjölda beiðna getur leitt til offramboðs á hnútum. Samhliða mælikvarði, öfugt við að bæta við nýjum hnútum, eykur tölvuafl eftir þörfum.

Amazon Redshift samhliða mælikvarði gefur Redshift þyrpingum aukna getu til að takast á við hámarksbeiðnamagn. Það virkar með því að færa beiðnir í nýja „samsíða“ klasa í bakgrunni. Beiðnum er beint út frá WLM stillingum og reglum.

Samhliða verðstærð er byggð á lánslíkani með ókeypis flokki. Fyrir ofan ókeypis inneign er greiðsla byggð á þeim tíma sem Parallel Scaling Cluster vinnur úr beiðnum.

Höfundur prófaði samhliða mælikvarða á einum af innri þyrpingunum. Í þessari færslu mun hann tala um niðurstöður prófsins og gefa ráð um hvernig eigi að byrja.

Klasakröfur

Til að nota samhliða mælikvarða verður Amazon Redshift þyrpingin þín að uppfylla eftirfarandi kröfur:

- pallur: EC2-VPC;
— hnútagerð: dc2.8xlarge, ds2.8xlarge, dc2.large eða ds2.xlarge;
— fjöldi hnúta: frá 2 til 32 (stökum hnútaþyrpingum er ekki stutt).

Viðunandi tegundir beiðna

Samhliða mælikvarði hentar ekki fyrir allar tegundir fyrirspurna. Í fyrstu útgáfunni vinnur það aðeins úr lestrarbeiðnum sem uppfylla þrjú skilyrði:

— SELECT-fyrirspurnir eru skrifvarandi (þó að fleiri tegundir séu fyrirhugaðar);
— fyrirspurnin vísar ekki til töflu með FJÖFÐU flokkunarstílnum;
- Fyrirspurnin notar ekki Amazon Redshift Spectrum til að vísa í ytri töflur.

Til að vera beint til Parallel Scaling Cluster verður beiðnin að vera í biðröð. Að auki eru fyrirspurnir gjaldgengar í biðröðina SQA (Short Query Acceleration), mun ekki keyra á samhliða klösum.

Biðraðir og SQA krefjast réttrar uppsetningar Redshift Workload Management (WLM). Við mælum með að fínstilla WLM fyrst - þetta mun draga úr þörfinni fyrir samhliða mælikvarða. Og þetta er mikilvægt vegna þess að samhliða mælikvarði er aðeins ókeypis í ákveðinn fjölda klukkustunda. AWS heldur því fram að samhliða skalun verði ókeypis fyrir 97% viðskiptavina, sem færir okkur að verðlagningu.

Kostnaður við samhliða mælingu

AWS býður upp á kreditlíkan fyrir samhliða mælikvarða. Hver virkur klasi Amazon Rauðskipting Safnar einingum á klukkutíma fresti, allt að einni klukkustund af ókeypis samhliða stigstærðareiningum á dag.

Þú borgar aðeins þegar notkun þín á samhliða scaling clusters fer yfir magn inneigna sem þú hefur fengið.

Kostnaðurinn er reiknaður á sekúndu á eftirspurn hlutfalli fyrir samhliða klasa sem er notaður yfir ókeypis taxta. Þú ert aðeins rukkaður fyrir þann tíma sem beiðnirnar þínar standa yfir, með lágmarksgjaldi upp á eina mínútu í hvert sinn sem samhliða skalaþyrping er virkjuð. Eftirspurnarhlutfall á sekúndu er reiknað út frá almennum verðlagsreglum Amazon Rauðskipting, það er, það fer eftir gerð hnútsins og fjölda hnúta í klasanum þínum.

Ræsir Parallel Scaling

Samhliða skalun er ræst fyrir hverja WLM biðröð. Farðu í AWS Redshift stjórnborðið og veldu Vinnuálagsstjórnun í vinstri valmyndinni. Veldu WLM færibreytuhóp klasans þíns úr eftirfarandi fellivalmynd.

Þú munt sjá nýjan dálk sem heitir "Concurrency Scaling Mode" við hlið hverrar biðröð. Sjálfgefið er "Óvirkt". Smelltu á "Breyta" og þú getur breytt stillingum fyrir hverja biðröð.

Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Stillingar

Samhliða mælikvarði virkar með því að senda viðeigandi beiðnir til nýrra sérstakra klasa. Nýir klasar hafa sömu stærð (gerð og fjöldi hnúta) og aðalþyrpingin.

Sjálfgefinn fjöldi klasa sem notaðir eru fyrir samhliða mælikvarða er einn (1), með getu til að stilla allt að samtals tíu (10) klasa.
Hægt er að stilla heildarfjölda klasa fyrir samhliða mælikvarða með færibreytunni max_concurrency_scaling_clusters. Með því að auka gildi þessarar færibreytu færðu fleiri óþarfa klasa.

Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Eftirlit

Það eru nokkur viðbótar línurit fáanleg í AWS Redshift stjórnborðinu. Myndritið Max Configured Concurrency Scaling Clusters sýnir gildi max_concurrency_scaling_clusters með tímanum.

Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Fjöldi virkra kvarðaklasa er sýndur í notendaviðmótinu í hlutanum „Samhliða mælikvarði“:

Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Á flipanum Fyrirspurnir er dálkur sem gefur til kynna hvort fyrirspurnin hafi verið keyrð í aðalklasanum eða í samhliða mælikvarðaklasanum:

Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Óháð því hvort tiltekin fyrirspurn var keyrð í aðalþyrpingunni eða í gegnum samhliða mælikvarðaklasa er hún geymd í stl_query.concurrency_scaling_status.

Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Gildið 1 gefur til kynna að fyrirspurnin hafi verið keyrð í samhliða kvarðaklasanum, en önnur gildi gefa til kynna að hún hafi verið keyrð í aðalklasanum.

Dæmi:

Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Upplýsingar um samhliða mælikvarða eru einnig geymdar í sumum öðrum töflum og sýnum, svo sem SVCS_CONCURRENCY_SCALING_USAGE. Að auki eru til nokkrar vörulistatöflur sem geyma upplýsingar um samhliða mælikvarða.

Niðurstöður

Höfundarnir hófu samhliða mælingu fyrir eina biðröð í innri þyrpingunni um það bil 18:30:00 GMT þann 29.03.2019. Breyttu breytu max_concurrency_scaling_clusters í 3 um það bil 20:30:00 þann 29.03.2019.

Til að líkja eftir beiðnarröð fækkuðum við fjölda afgreiðslutíma fyrir þessa biðröð úr 15 í 5.

Hér að neðan er intermix.io mælaborðstöflu sem sýnir fjölda beiðna í gangi og biðröð eftir að hafa fækkað fjölda spilakassa.

Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Við sjáum að biðtími eftir beiðnum í biðröð hefur aukist og er hámarkstíminn meira en 5 mínútur.

Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Hér eru viðeigandi upplýsingar frá AWS stjórnborðinu um hvað gerðist á þessum tíma:

Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Redshift hleypti af stokkunum þremur (3) samhliða stærðarþyrpingum eins og þeir voru stilltir. Svo virðist sem þessir klasar hafi verið vannýttir, jafnvel þó að margar beiðnir í klasanum okkar hafi verið í biðröð.

Notkunargrafið tengist línuritinu um mælingarvirkni:

Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Eftir nokkrar klukkustundir athugaðu höfundar biðröðina og það leit út fyrir að 6 beiðnir væru í gangi í samhliða mælikvarða. Við prófuðum líka tvær beiðnir af handahófi í gegnum notendaviðmótið. Við höfum ekki athugað hvernig á að nota þessi gildi þegar nokkrir samhliða klasar eru virkir í einu.

Amazon Redshift Parallel Scaling Guide og prófunarniðurstöður

Niðurstöður

Samhliða mælikvarði getur dregið úr þeim tíma sem beiðnir eyða í biðröðinni við álag.

Miðað við niðurstöður grunnprófsins kom í ljós að staðan með hleðslubeiðnir hefur batnað að hluta. Samhliða mælikvarði ein og sér leysti þó ekki öll samhliða vandamál.

Þetta er vegna takmarkana á tegundum fyrirspurna sem geta notað samhliða mælikvarða. Til dæmis eru höfundar með margar töflur með flættum flokkunarlyklum og mest af vinnuálagi okkar er að skrifa.

Þó að samhliða mælikvarði sé ekki alhliða lausn til að setja upp WLM, þá er notkun þessa eiginleika einföld og einföld.

Þess vegna mælir höfundur með því að nota það fyrir WLM biðraðir þínar. Byrjaðu á einum samhliða klasa og fylgstu með hámarksálagi í gegnum stjórnborðið til að ákvarða hvort nýju klasarnir séu að fullu nýttir.

Þar sem AWS bætir við stuðningi við fleiri fyrirspurnagerðir og töflur, ætti samhliða skalun smám saman að verða skilvirkari og skilvirkari.

Athugasemd frá Daniyar Belkhodzhaev, Skyeng Data Engineer

Við hjá Skyeng tókum líka strax eftir möguleikanum á samhliða mælikvarða.
Virknin er mjög aðlaðandi, sérstaklega í ljósi þess að AWS áætlar að flestir notendur þurfi ekki einu sinni að borga aukalega fyrir það.

Það gerðist svo að um miðjan apríl fengum við óvenjulegt magn beiðna til Rauðviksklasans. Á þessu tímabili gripum við oft til samhliða mælikvarða; stundum vann þyrping til viðbótar allan sólarhringinn án þess að stoppa.

Þetta gerði það mögulegt, ef ekki að leysa vandann með biðröðum, þá að minnsta kosti að gera ástandið viðunandi.

Athuganir okkar falla að mestu leyti saman við birtingar strákanna frá intermix.io.

Við tókum líka eftir því að þó að beiðnir biðu í biðröðinni voru ekki allar beiðnir sendar strax til samhliða klasans. Svo virðist sem þetta gerist vegna þess að samhliða þyrpingin tekur enn tíma að byrja. Fyrir vikið höfum við enn litlar biðraðir meðan á skammtímaálagi stendur og samsvarandi viðvaranir hafa tíma til að kveikja.

Eftir að hafa losað okkur við óeðlilegt álag í apríl, fórum við, eins og AWS bjóst við, í stöku notkunarstillingu - innan ókeypis norms.
Þú getur fylgst með samhliða stærðarkostnaði þínum í AWS Cost Explorer. Þú þarft að velja Þjónusta - Rauðvik, Notkunartegund - CS, til dæmis USW2-CS:dc2.large.

Þú getur lesið meira um verð á rússnesku hér.

Heimild: www.habr.com

Bæta við athugasemd