Բարի երեկո Habra-ի բոլոր օգտատերերին:
Ես անընդհատ հոդվածներ եմ կարդում Habré-ում Malinka-ում այս կամ այն ֆունկցիոնալության զարգացման մասին: Ես որոշեցի կիսվել իմ աշխատանքով այստեղ:
նախապատմությանը
Ես աշխատում եմ մի ընկերությունում, որը տրամադրում է կաբելային հեռուստատեսություն և ինտերնետ հասանելիության ծառայություններ: Եվ, ինչպես լինում է նման ընկերություններում, ես պարբերաբար դժգոհություններ եմ լսում սակագնային պլանի անհամապատասխանության մասին պայմանագրում նշվածին։ Կամ օգտատերը դժգոհում է ցածր արագությունից «մալուխի միջոցով», հետո որոշակի ծառայությունների բարձր պինգից, երբեմն՝ օրվա որոշակի ժամերին ինտերնետի իսպառ բացակայությունից։ Հաճախ նման բողոքներն ավարտվում են խնդրանքների մի շարքում, որոնց հիման վրա աշխատողներից մեկը «տեղում» է գնում աշխատող նոութբուքով, որի վրա կատարվում են բոլոր չափումները։ Եվ, հաճախ, պարզվում է, որ արագության հետ ամեն ինչ կարգին է։ Իսկ ցածր արագությունը իրականում բջջային հեռախոսի վրա է, wi-fi-ի միջոցով, պատշգամբում։ Դե, կամ նման մի բան:
Ցավոք, հնարավոր չէ բաժանորդի մոտ գնալ, օրինակ, ժամը 21:37-ին, երբ նա ունի ամենացածր արագությունները։ Ի վերջո, աշխատակիցների աշխատանքային ժամերը սահմանափակ են։ Երթուղիչի փոխարինումը ոչ մի ազդեցություն չունի, քանի որ... Մեր երկրում Wi-Fi-ի հաճախականությունների տիրույթը ողբալիորեն խառնաշփոթ է:
For the record — Բելառուսի Հանրապետության պետական մատակարարը հարկադրաբար միացնում է wi-fi-ը օգտագործման համար նախատեսված բոլոր սարքերում և հեռարձակում է ByFly SSID-ը յուրաքանչյուր սարքից: Նույնիսկ եթե բաժանորդը չունի ինտերնետ ծառայություն, այլ միայն տան հեռախոս: Սա արվել է լրացուցիչ վաճառքի համար: Այս օպերատորից կարող եք քարտ գնել կրպակից, միանալ ByFly անունով ցանկացած կետին և քարտից տվյալները մուտքագրելով ստանալ ինտերնետ ծառայություններ։ Հաշվի առնելով քաղաքների գրեթե 100% ծածկույթը և մասնավոր հատվածի և գյուղական շրջանների զգալի ծածկույթը, կապի կետ գտնելը խնդիր չէ:
Մեր արտաքին կապի ուղիների դիտարկումները ցույց են տալիս, որ առկա է թողունակության տվյալ պահուստ: Իսկ բաժանորդներն ընդհանրապես չեն սպառում առկա ալիքները նույնիսկ պիկ ժամին։ Մենք այս հարցում շատ լուրջ ենք վերաբերվում։ Տարբեր ծառայությունների և արագության չափման տարբեր սերվերների օգտագործումը հանգեցրեց հետաքրքիր արդյունքների։ Պարզվում է՝ ոչ բոլոր ծառայություններն են հավասարապես օգտակար... Հատկապես երեկոյան ժամերին։ Եվ դուք անպայման չպետք է վստահեք նրանց: Նույն Ookla ցանցի շատ օպերատորներ չունեն լայն կապի ուղիներ կամ աշխատում են իրար հետ: Սա նշանակում է, որ երեկոյան հաճախ գրեթե անհնար է ազնիվ արդյունք ստանալ։ Այո, և մայրուղիները մեղավոր են: Օրինակ՝ արագությունը չափելու փորձերը Ճապոնիայում ցույց են տալիս ծայրահեղ աղետալի արդյունքներ...
Առաջնային որոշում
Լուսանկարը միայն նկարչական նպատակներով է։
Գործարկվել են արագության վերահսկման երկու սերվեր: Առաջինն է
Այնուհետև հրահանգներ են գրվել օգտատերերի և աշխատակիցների համար, թե ինչպես չափել արագությունը ցանցի ներսում և դրսում: Նրանք. Երբ թեստը սկսվում է, լռելյայնորեն չափվում է ցանցի ներսում արագությունը: Սերվերը գտնվում է մեր գլխամասում, և Ookla լուծումը լռելյայն ընտրում է բաժանորդին ամենամոտ սերվերը: Այս կերպ մենք ստուգում ենք տվյալների փոխանցման սեփական ցանցի աշխատանքը։
Երկրի ներսում արագությունը չափելու համար (մենք ունենք առանձին ցանց հեռահաղորդակցության օպերատորների համար, որը միավորում է երկրի բոլոր օպերատորներին և հիմնական տվյալների կենտրոնները), դուք պետք է ընտրեք մատակարար երկրի ներսում և կատարեք երկրորդ չափումը: Մենք էմպիրիկորեն նույնականացրել ենք մի քանի սերվերներ, որոնք քիչ թե շատ կայուն արդյունքներ են տալիս օրվա ցանկացած պահի և ցուցակագրել ենք դրանք, ինչպես առաջարկվում է հրահանգներում:
Դե, նման գործողություններ արտաքին կապի ուղիների համար։ Մենք գտել ենք մեծ օպերատորներ՝ մեծ ալիքներով speedtest սերվերների վրա և գրել դրանք առաջարկություններում (ներողություն «Moskva - Rostelecom» և «Riga - Baltcom», բայց ես խորհուրդ կտամ այս հանգույցներին համապատասխան թվեր ստանալու համար: Անձամբ ես ստացել եմ մինչև ~870 մեգաբիթ: այս սերվերները պիկ ժամերին):
Ինչո՞ւ, կհարցնեք, նման դժվարություններ: Ամեն ինչ շատ պարզ է. Մենք ստացել ենք բավականին հարմար գործիք, որն ընդունակ ձեռքերում թույլ է տալիս որոշել՝ մեր ցանցերում խնդիրներ կան, հանրապետական ցանցում, թե՞ ողնաշարի հետ կապված խնդիրներ կան։ Եթե մարդը դժգոհում է ինչ-որ ծառայությունից ներբեռնման ցածր արագությունից, մենք կարող ենք չափել բաժանորդի ալիքի արագությունը և այն համեմատել այն ծառայության հետ, ինչ նա ստանում է ծառայությունից։ Եվ խելամիտ է ցույց տալ, որ մենք ազնվորեն հատկացնում ենք պայմանագրում նշված կապուղին։ Կարող ենք բացատրել նաև արագությունների նման տարբերության հնարավոր պատճառները։
Երկրորդական լուծում
Երեկոյան/ցերեկը արագության անկման հարցը մնում է բաց։ Ինչպե՞ս անել նույն բանը առանց բաժանորդի տանը գտնվելու: Վերցրեք գիգաբիթ ցանցով էժանագին մեկ տախտակ քարտ և դրանից այսպես կոչված զոնդ պատրաստեք։ Սարքը պետք է կատարի արագության չափումներ մալուխի երկայնքով որոշակի ժամանակային ընդմիջումով: Լուծումը պետք է լինի բաց կոդով, հնարավորինս ոչ հավակնոտ, չափումների արդյունքները դիտելու հարմար ադմինիստրատորի վահանակով: Սարքը պետք է լինի հնարավորինս էժան, որպեսզի այն հեշտությամբ փոխարինվի և առանց վախի n օր թողնել բաժանորդի մոտ։
Իրականացման
Որպես հիմք ընդունվել է BananaPI (մոդել M1): Այս ընտրության համար իրականում երկու պատճառ կա.
- Գիգաբիթ նավահանգիստ.
- Այն պարզապես պառկած էր գիշերանոցում։
Այնուհետև որոշվեց օգտագործել python հաճախորդը
Հաշվի առնելով այն հանգամանքը, որ Raspberry-ի ռեսուրսները ճկուն չեն, օգտագործվել է nginx+php-fpm+sqlite3 համակցությունը։ Ես ուզում էի հրաժարվել MySQL-ից՝ դրա ծանրության և ավելորդության պատճառով: Ես ակնկալում եմ հարց Iperf-ի վերաբերյալ: Այն պետք է լքվեր տեղական ուղղություններից այլ ուղղություններով օգտագործելու անհնարինության պատճառով։
Սկզբում ես հետևեցի այս կայքում շատերի ճանապարհին: Փոփոխվել է speedtest-cli հաճախորդը: Բայց հետո, մի փոքր մտածելուց հետո, նա հրաժարվեց այս մտքից։ Ես գրել եմ իմ սեփական աշխատողը, որն օգտագործում է սկզբնական հաճախորդի հնարավորությունները:
Պինգերը վերլուծելու համար ես ուղղակի գրեցի առանձին կարգավորիչ: Չափումից վերցնում ենք միջին արժեքը։ Պինգ գործիքը կարող է կարգավորել ինչպես IP հասցեն, այնպես էլ տիրույթի անունը:
Ես չեմ հասել ասինխրոն աշխատանքի. Այս դեպքում դա առանձնապես անհրաժեշտ չէ։
Արդյունքների գնահատման ադմինիստրատորի վահանակը բավականին մինիմալիստական էր:
Նկար. Հիմնական ադմինիստրատորի պատուհանը թեստավորման արդյունքներով
Նկար. Փորձարկման կարգավորումներ
Նկար. Թարմացրեք Speedtest սերվերների ցանկը
Այսքանը: Գաղափարն իրականացվել է ծնկներիս վրա, ազատ ժամանակ։ Դաշտային փորձարկումները դեռ չեն սկսվել։ Բայց մենք նախատեսում ենք մոտ ապագայում գործարկել նախատիպերը։ Այն կարող է օգտագործվել ինչպես այնտեղ գտնվող մատակարարների, այնպես էլ պրովայդերների հաճախորդների կողմից: Ոչ ոք ձեզ չի խանգարում տանը չափումներ անել շուրջօրյա։ Միակ բանը, որ դուք պետք է հիշեք, այն է, որ եթե դուք ակտիվորեն շրջում եք ինտերնետում կամ ինչ-որ բան ներբեռնում, ապա չափումը կլինի իրականից ցածր: Այսպիսով, իդեալական տարբերակում, դուք պետք է թողնեք զոնդը ցանցում որպես երթևեկության միակ սպառող:
Հ.Գ. խնդրում եմ ինձ մի քննադատեք կոդի որակի համար։ Ինքնուսուցան եմ՝ առանց փորձի։ Աղբյուրի կոդը համար
Source: www.habr.com