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-ի հարաբերակցությունը, կլիենտների քանակը։ Մենք պատասխանում ենք թեստի պլանի նախագծով՝ կետերը, ստենդի սխեման և ժամկետները։ Հաշվետվությունը մնում է Ձեզ, և Դուք կարող եք այն ցույց տալ վենդորին։ Գրեք մեզ կամ տեսեք, թե էլ ինչ է անում ստենդը։