Skip to content
Բոլոր հոդվածները
Պահոցներ և տվյալների կենտրոններ

Ինչպես ենք փորձարկում S3 պահեստը. 1 kB-ից 128 MB և ընկած հանգույց

Alexander Zemskov 4 րոպե ընթերցում
Ինչպես ենք փորձարկում S3 պահեստը. 1 kB-ից 128 MB և ընկած հանգույց

S3 կլաստերի բնութագրում մեկ թիվ կա՝ GB/s-ով։ Այն չափվել է մեծ օբյեկտներով, մի քանի կլիենտով և բոլոր հանգույցների աշխատող վիճակում։ Ձեր հավելվածը գրում է, օրինակ, 16 kB նախադիտումներ մի քանի հարյուր միացումից, և մի օր հանգույցներից մեկն ընկնում է։ 16 kB-ի դեպքում կլաստերը հասնում է հարցումների առաստաղին շատ ավելի շուտ, քան լցվում են նրա uplink-ները։ Մենք չափում ենք այն, ինչ զգում է հավելվածը՝ օբյեկտներ վայրկյանում և p99 ուշացում ըստ օբյեկտի չափի, խափանումից առաջ և դրա ընթացքում։

Ստենդը

Ստենդի հոսթերն աշխատում են որպես բաշխված S3 կլիենտներ և գործարկում են Ձեր պրոֆիլը՝ PUT, GET և դրանց խառնուրդը, օբյեկտների չափերը 1 kB-ից 128 MB՝ ըստ Ձեր access լոգերի, Ձեր միացումների քանակը, multipart մեծ օբյեկտների համար։ Կլաստերը Ձերն է՝ 3-ից 8 հանգույց ռեկում կամ լաբորատորիայի հիպերվիզորում, S3-համատեղելի համակարգ, օրինակ՝ RustFS, ստենդի հոսթերում, կամ Ձեր լաբորատորիայի կլաստերը՝ միացված առանձնացված կապուղով։

Հանգույցները միացված են 25G uplink-ներով (breakout 100G-ից) ToR-ի հետևում՝ Ձեր կոնֆիգուրացիայով։ Erasure coding-ը և ռեպլիկացիան տվյալներ են տեղափոխում հանգույցների միջև, ուստի կոմուտատորի հաշվիչները կարդում ենք ըստ պորտերի ամբողջ չափման ընթացքում և կլիենտների տրաֆիկն առանձնացնում east-west տրաֆիկից։

Ինչ ենք ստուգում

  • PUT և GET ըստ օբյեկտի չափի՝ 1 kB-ից 128 MB. օբյեկտներ վայրկյանում փոքր չափերի համար, MB/s՝ մեծերի, p50 և p99 յուրաքանչյուր քայլում
  • Կլիենտների աճ. միացումներն ավելացնում ենք աստիճաններով, մինչև p99-ն անցնի Ձեր չափանիշը, և այդ բեկման կետն է պլանավորման հզորությունը
  • Խառը բեռ. GET և PUT Ձեր հարաբերակցությամբ, ժամերով, որպեսզի կլաստերի սեփական ֆոնային առաջադրանքներն էլ ընկնեն չափման մեջ
  • LIST և DELETE այն bucket-ում, որը լցված է մեկ տարի անց սպասվող օբյեկտների քանակով, GET-ի և PUT-ի ընթացքում
  • Multipart. մասի չափը, զուգահեռ մասերը, 128 MB օբյեկտի բեռնման ժամանակը և այն, ինչ մնում է ընդհատված բեռնումից հետո
  • East-west. հանգույցների միջև բայթերը յուրաքանչյուր գրված բայթի դիմաց՝ կլիենտների տրաֆիկի կողքին նույն 25G պորտում
  • Խափանումներ. հանգույցը, uplink-ը կամ NIC-ի պորտն անջատվում է բեռի տակ, և ժամանակը չափվում է վերջին ավարտված հարցումից մինչև առաջին վերադարձածը
  • Rebuild. ամբողջական ավելցուկայնության վերականգնման ժամանակը, երբ կլիենտներն աշխատում են լրիվ բեռով, և p99-ը մինչև դրա ավարտը

Պահեստավորման էջում այս դասը ներկայացված է զանգվածների, HCI-ի և պահուստային պատճենման կողքին։ Բլոկային զանգվածի առջևի ցանցը՝ incast-ով և PFC-ով, առանձին հրապարակման թեմա է՝ ինչպես ենք փորձարկում պահեստավորման ցանցերը։

Ինչն է սովորաբար խափանվում

Փոքր օբյեկտները։ Տիպային նախագծում կլաստերը ցույց տվեց իր GB/s թիվը 16 MB-ով, իսկ հետո ստացավ 16 kB օբյեկտներ։ PUT-ը կանգ առավ վայրկյանում մոտ 4 000-ի վրա, p99-ը 15 մվ-ից հասավ 200 մվ-ի, իսկ uplink-ները մնացին 1 Gbps-ից ցածր։ Սահմանը հանգույցների մետատվյալների և սկավառակների համաժամեցման մեջ էր։ Թողունակության գրաֆիկը ոչ մեկին ցույց չի տալիս, իսկ օբյեկտներ վայրկյանում՝ p99-ի դիմաց ըստ չափերի, ցույց է տալիս ճիշտ թիմին։

East-west-ը կլիենտի uplink-ում։ Erasure coding-ի դեպքում ընդունող հանգույցը յուրաքանչյուր օբյեկտ կտրատում է բեկորների և դրանց մեծ մասն ուղարկում հարևաններին։ 4 տվյալների և 2 զույգության բեկորի օրինակային դասավորությամբ կլիենտների գրած յուրաքանչյուր 1 GB-ը հանգույցների միջև ավելացնում է մոտ 1,25 GB։ Յուրաքանչյուր uplink-ի ընդունման կողմում կլիենտների PUT-երը հանդիպում են այդ բեկորներին, և միայն կլիենտների տրաֆիկի համար հաշվարկված կլաստերն առաջինը հասնում է պորտի սահմանին։

Rebuild բեռի տակ։ Հանգույցն ընկնում է, նրա օբյեկտները կարդացվում են դեգրադացված ռեժիմով, և կլաստերը դրանք վերականգնում է նույն uplink-ներով, որոնցով աշխատում են կլիենտները։ Ընդունման տիպային աղյուսակում դա 2 տող է՝ մեկ հանգույցի rebuild լրիվ կլիենտային բեռի տակ 6 ժ՝ նախագծային 4 ժ-ի դիմաց, 1 MB օբյեկտների GET-ի p99 35 մվ իրադարձությունից առաջ և 180 մվ մինչև rebuild-ի ավարտը։ Ընդունել դա, դանդաղեցնել rebuild-ը, թե ավելացնել uplink-ներ, որոշում եք Դուք, և որոշում եք մինչև արտադրական շահագործումը։

Ինչ կա հաշվետվության մեջ

Օբյեկտներ վայրկյանում, p50 և p99 ըստ օբյեկտի չափի և գործողության՝ PUT, GET, խառնուրդ, LIST, DELETE, multipart։ Միացումների այն քանակը, որի դեպքում p99-ն անցնում է Ձեր չափանիշը։ Կլիենտների և east-west տրաֆիկն ըստ uplink-ների՝ կոմուտատորի հաշվիչներից։ Յուրաքանչյուր խափանում իր ընդհատմամբ, rebuild-ի ժամանակը և p99-ը դրա ողջ ընթացքում։ Հարցումների լոգերը, հանգույցների և կոմուտատորի հաշվիչները, կլաստերի և ToR-ի կոնֆիգուրացիան յուրաքանչյուր չափման համար՝ ծրագրային տարբերակով։ Պահեստավորման վենդորը, ցանցային թիմը և հավելվածի տերը կարդում են նույն աղյուսակը։

Որտեղից սկսել

Ուղարկեք մեզ կլաստերի սխեման, հանգույցների քանակը և մեկ շաբաթվա հարցումների վիճակագրությունը՝ օբյեկտների չափերը, GET-ի և PUT-ի հարաբերակցությունը, կլիենտների քանակը։ Մենք պատասխանում ենք թեստի պլանի նախագծով՝ կետերը, ստենդի սխեման և ժամկետները։ Հաշվետվությունը մնում է Ձեզ, և Դուք կարող եք այն ցույց տալ վենդորին։ Գրեք մեզ կամ տեսեք, թե էլ ինչ է անում ստենդը։

Հեղինակ

Alexander Zemskov

Ցանցերի և անվտանգության թեստավորման փորձագետ և վաճառք (19+ տարի) | Performance & Load Testing | IXIA | Spirent | Keysight | Xena | Xinertel և այլն

Բլոգ

Կարդացեք նաև

Պահոցներ և տվյալների կենտրոններ

Ինչպես ենք փորձարկում NAS-ը. NFS, SMB, մետատվյալներ և failover

NAS-ի բնութագրում մեկ թիվ կա՝ հաջորդական ընթերցում GB/s-ով, չափված մեծ ֆայլերով և մի քանի հաճախորդով։ Տնային թղթապանակների ռեսուրսում կամ build ֆերմայում հարյուրավոր հաճա…

Alexander Zemskov 4 րոպե ընթերցում
Պահոցներ և տվյալների կենտրոններ

Ինչպես ենք փորձարկում backup և ռեպլիկացիա WAN-ով. պատուհան, RPO

Սայզինգի հաշվարկում տվյալների ծավալը բաժանում են կապուղու արագության վրա. 20 TB-ը 10G WAN-ով 4,4 ժամ է, 22:00-ից 07:00 պատուհանը 9 ժամ է, և պաշարը կարծես կրկնակի է։ 30 մվ…

Alexander Zemskov 4 րոպե ընթերցում
Պահոցներ և տվյալների կենտրոններ

Ինչպես ենք փորձարկում HCI կլաստերները. հանգույցի կորուստ և p99

HCI-ի չափավորման աղյուսակը պատասխանում է մեկ հարցի՝ քանի VM կտեղավորվի 4 հանգույցի վրա, եթե մեկը պահվում է պահուստում։ Այն հաշվարկվում է առողջ կլաստերի համար։ Գնորդը կարդ…

Alexander Zemskov 4 րոպե ընթերցում