ఇంటర్నెట్ వేగాన్ని కొలవడానికి ఒక జోండ్ అభివృద్ధి

ఇంటర్నెట్ వేగాన్ని కొలవడానికి ఒక జోండ్ అభివృద్ధి
హబ్రా వినియోగదారులందరికీ శుభ మధ్యాహ్నం.

మలింకాలో ఈ లేదా ఆ కార్యాచరణ అభివృద్ధి గురించి నేను హబ్రేలో నిరంతరం కథనాలను చదువుతాను. నేను నా పనిని ఇక్కడ పంచుకోవాలని నిర్ణయించుకున్నాను.

పూర్వచరిత్ర

నేను కేబుల్ టెలివిజన్ మరియు ఇంటర్నెట్ యాక్సెస్ సేవలను అందించే కంపెనీలో పని చేస్తున్నాను. మరియు, అటువంటి కంపెనీలలో జరిగేటట్లు, నేను క్రమానుగతంగా ఒప్పందంలో పేర్కొన్నదానితో టారిఫ్ ప్లాన్ యొక్క అస్థిరత గురించి ఫిర్యాదులను వింటాను. "కేబుల్ ద్వారా" తక్కువ వేగం గురించి వినియోగదారు ఫిర్యాదు చేయవచ్చు, ఆపై నిర్దిష్ట సేవల యొక్క అధిక పింగ్స్ గురించి, కొన్నిసార్లు రోజులోని నిర్దిష్ట సమయాల్లో ఇంటర్నెట్ పూర్తిగా లేకపోవడం గురించి. తరచుగా, అటువంటి ఫిర్యాదులు అభ్యర్థనల పూల్‌లో ముగుస్తాయి, దీని ఆధారంగా ఉద్యోగులలో ఒకరు పని చేసే ల్యాప్‌టాప్‌తో "సైట్‌లో" వెళతారు, దానిపై అన్ని కొలతలు తీసుకోబడతాయి. మరియు, తరచుగా, ప్రతిదీ వేగంతో జరిమానా అని మారుతుంది. మరియు తక్కువ వేగం నిజానికి మొబైల్ ఫోన్‌లో, wi-fi ద్వారా, బాల్కనీలో ఉంటుంది. బాగా, లేదా అలాంటిదే.

దురదృష్టవశాత్తు, చందాదారుని వద్దకు వెళ్లడం సాధ్యం కాదు, ఉదాహరణకు, 21:37 వద్ద, అతను అత్యల్ప వేగంతో ఉన్నప్పుడు. అన్నింటికంటే, ఉద్యోగుల పని గంటలు పరిమితం. రూటర్‌ని మార్చడం వల్ల ఎటువంటి ప్రభావం ఉండదు, ఎందుకంటే... మన దేశంలో వై-ఫై ఫ్రీక్వెన్సీ పరిధి చాలా దారుణంగా ఉంది.

సూచన కోసం — రిపబ్లిక్ ఆఫ్ బెలారస్‌లోని స్టేట్ ప్రొవైడర్ ఉపయోగం కోసం అందించిన అన్ని పరికరాల్లో బలవంతంగా wi-fiని ఆన్ చేస్తుంది మరియు ప్రతి పరికరం నుండి ByFly SSIDని ప్రసారం చేస్తుంది. చందాదారునికి ఇంటర్నెట్ సేవ లేకపోయినా, ఇంటి ఫోన్ మాత్రమే. అదనపు విక్రయాల కోసం ఇది జరిగింది. మీరు కియోస్క్‌లో ఈ ఆపరేటర్ నుండి కార్డ్‌ని కొనుగోలు చేయవచ్చు, ByFly పేరుతో ఏదైనా పాయింట్‌కి కనెక్ట్ చేయవచ్చు మరియు కార్డ్ నుండి డేటాను నమోదు చేయడం ద్వారా ఇంటర్నెట్ సేవలను పొందవచ్చు. దాదాపు 100% నగరాల కవరేజీ మరియు ప్రైవేట్ రంగం మరియు గ్రామీణ ప్రాంతాల గణనీయమైన కవరేజీ కారణంగా, కనెక్షన్ పాయింట్‌ను కనుగొనడం సమస్య కాదు.

మా బాహ్య కమ్యూనికేషన్ ఛానెల్‌ల పరిశీలనలు ఇచ్చిన బ్యాండ్‌విడ్త్ రిజర్వ్ ఉన్నట్లు చూపుతున్నాయి. మరియు సబ్‌స్క్రైబర్‌లు రద్దీ సమయంలో కూడా అందుబాటులో ఉన్న ఛానెల్‌లను మొత్తంగా వినియోగించుకోరు. మేము ఈ విషయంలో చాలా సీరియస్ గా ఉన్నాము. విభిన్న సేవలు మరియు విభిన్న వేగ కొలత సర్వర్‌ల వినియోగం ఆసక్తికరమైన ఫలితాలకు దారితీసింది. అన్ని సేవలు సమానంగా ఉపయోగకరంగా ఉండవని తేలింది... ముఖ్యంగా సాయంత్రం. మరియు మీరు ఖచ్చితంగా వారిని విశ్వసించకూడదు. ఒకే Ookla నెట్‌వర్క్‌కు చెందిన చాలా మంది ఆపరేటర్‌లు విస్తృత కమ్యూనికేషన్ ఛానెల్‌లను కలిగి ఉండరు లేదా వెనుకకు పని చేయలేరు. దీని అర్థం సాయంత్రం తరచుగా నిజాయితీ ఫలితాన్ని పొందడం దాదాపు అసాధ్యం. అవును, మరియు హైవేలు పాపాత్మకమైనవిగా మారతాయి. ఉదాహరణకు, జపాన్‌లో వేగాన్ని కొలిచే ప్రయత్నాలు చాలా వినాశకరమైన ఫలితాలను చూపుతాయి...

ప్రాథమిక నిర్ణయం

ఇంటర్నెట్ వేగాన్ని కొలవడానికి ఒక జోండ్ అభివృద్ధి
ఫోటో దృష్టాంత ప్రయోజనాల కోసం మాత్రమే.

రెండు స్పీడ్ కంట్రోల్ సర్వర్‌లను ఏర్పాటు చేశారు. మొదటిది లిబ్రేస్పీడ్, రెండవ - OOKLA నుండి స్పీడ్‌టెస్ట్. రెండు సేవల పనితీరును పోల్చారు. అన్నింటికంటే, మేము ఊక్లాలో ఆగాలని నిర్ణయించుకున్నాము ఎందుకంటే... 90% మంది చందాదారులు ఈ సేవను ఉపయోగిస్తున్నారు.

తర్వాత, నెట్‌వర్క్ లోపల మరియు వెలుపల వేగాన్ని ఎలా కొలవాలనే దానిపై వినియోగదారులు మరియు ఉద్యోగుల కోసం సూచనలు వ్రాయబడ్డాయి. ఆ. పరీక్ష ప్రారంభమైనప్పుడు, డిఫాల్ట్‌గా నెట్‌వర్క్‌లోని వేగం కొలవబడుతుంది. సర్వర్ మా హెడ్‌ఎండ్‌లో ఉంది మరియు Ookla సొల్యూషన్ డిఫాల్ట్‌గా సబ్‌స్క్రైబర్‌కు దగ్గరగా ఉన్న సర్వర్‌ను ఎంచుకుంటుంది. ఈ విధంగా మేము మా స్వంత డేటా ట్రాన్స్మిషన్ నెట్వర్క్ యొక్క ఆపరేషన్ను తనిఖీ చేస్తాము.

దేశంలో వేగాన్ని కొలవడానికి (టెలికాం ఆపరేటర్‌ల కోసం మాకు ప్రత్యేక నెట్‌వర్క్ ఉంది, ఇది దేశంలోని అన్ని ఆపరేటర్లు మరియు ప్రధాన డేటా సెంటర్‌లను ఏకం చేస్తుంది), మీరు దేశంలోని ప్రొవైడర్‌ను ఎంచుకుని, రెండవ కొలత తీసుకోవాలి. రోజులో ఏ సమయంలోనైనా ఎక్కువ లేదా తక్కువ స్థిరమైన ఫలితాలను అందించే అనేక సర్వర్‌లను మేము అనుభవపూర్వకంగా గుర్తించాము మరియు సూచనలలో సిఫార్సు చేసిన విధంగా వాటిని జాబితా చేసాము.

బాగా, బాహ్య కమ్యూనికేషన్ ఛానెల్‌ల కోసం ఇలాంటి చర్యలు. మేము స్పీడ్‌టెస్ట్ సర్వర్‌లలో పెద్ద ఛానెల్‌లను కలిగి ఉన్న పెద్ద ఆపరేటర్‌లను కనుగొన్నాము మరియు వాటిని సిఫార్సులలో వ్రాసాము (క్షమించండి "Moskva - Rostelecom" మరియు "Riga - Baltcom", కానీ తగిన సంఖ్యలను పొందడానికి నేను ఈ నోడ్‌లను సిఫార్సు చేస్తాను. వ్యక్తిగతంగా, నేను దీని నుండి ~870 మెగాబిట్‌ల వరకు పొందాను పీక్ అవర్స్‌లో ఈ సర్వర్లు).

ఎందుకు, మీరు అడగండి, అలాంటి ఇబ్బందులు? ప్రతిదీ చాలా సులభం. మేము మా నెట్‌వర్క్‌లలో సమస్యలు ఉన్నాయా, రిపబ్లికన్ నెట్‌వర్క్‌లో సమస్యలు ఉన్నాయా లేదా వెన్నెముకతో సమస్యలు ఉన్నాయా అని నిర్ధారించడానికి, సమర్థుల చేతుల్లో ఉన్న చాలా అనుకూలమైన సాధనాన్ని మేము అందుకున్నాము. ఒక వ్యక్తి ఏదైనా సేవ నుండి తక్కువ డౌన్‌లోడ్ వేగం గురించి ఫిర్యాదు చేస్తే, మేము సబ్‌స్క్రైబర్ ఛానెల్ యొక్క వేగాన్ని కొలవవచ్చు మరియు ఆపై సేవ నుండి అతను అందుకున్న దానితో పోల్చవచ్చు. మరియు మేము కాంట్రాక్ట్‌లో పేర్కొన్న ఛానెల్‌ని నిజాయితీగా కేటాయించామని చూపించడం సహేతుకమైనది. వేగంలో ఇంత తేడా రావడానికి గల కారణాలను కూడా మనం వివరించవచ్చు.

ద్వితీయ పరిష్కారం

సాయంత్రం/పగటి సమయంలో వేగం తగ్గుతుందనే ప్రశ్న తెరిచి ఉంటుంది. చందాదారుల ఇంటి వద్ద లేకుండా అదే పనిని ఎలా చేయాలి? గిగాబిట్ నెట్‌వర్క్‌తో చౌకైన సింగిల్-బోర్డ్ కార్డ్‌ని తీసుకోండి మరియు దాని నుండి ప్రోబ్ అని పిలవబడేది చేయండి. పరికరం నిర్ణీత సమయ వ్యవధిలో కేబుల్‌తో పాటు వేగాన్ని కొలవాలి. కొలత ఫలితాలను వీక్షించడానికి అనుకూలమైన నిర్వాహక ప్యానెల్‌తో పరిష్కారం సాధ్యమైనంత అనుకవగల ఓపెన్ సోర్స్‌గా ఉండాలి. పరికరం వీలైనంత చౌకగా ఉండాలి, తద్వారా దానిని సులభంగా భర్తీ చేయవచ్చు మరియు చందాదారులతో n రోజుల పాటు భయం లేకుండా వదిలివేయబడుతుంది.

అమలు

ఇంటర్నెట్ వేగాన్ని కొలవడానికి ఒక జోండ్ అభివృద్ధి

బనానాపిఐ (మోడల్ M1) ఆధారంగా తీసుకోబడింది. నిజానికి ఈ ఎంపికకు రెండు కారణాలు ఉన్నాయి.

  1. గిగాబిట్ పోర్ట్.
  2. అది కేవలం నైట్‌స్టాండ్‌లో పడి ఉంది.

తరువాత, పైథాన్ క్లయింట్‌ను ఉపయోగించాలని నిర్ణయించారు speedtest-CLI వేగాన్ని కొలవడానికి బ్యాకెండ్‌గా ఊక్లా సేవ ద్వారా స్పీడ్‌టెస్ట్ కోసం. గ్రంధాలయం పైథాన్‌పింగ్ పింగ్ వేగాన్ని కొలవడానికి. బాగా, మరియు నిర్వాహక పానెల్ కోసం php. అవగాహన సౌలభ్యం కోసం నేను ఉపయోగించాను బూట్స్ట్రాప్.

Raspberry యొక్క వనరులు అనువైనవి కానందున, nginx+php-fpm+sqlite3 కలయిక ఉపయోగించబడింది. నేను MySQL దాని భారం మరియు రిడెండెన్సీ కారణంగా వదులుకోవాలనుకున్నాను. Iperfకి సంబంధించి నేను ఒక ప్రశ్న ఎదురు చూస్తున్నాను. స్థానికంగా కాకుండా ఇతర మార్గాల్లో దీనిని ఉపయోగించడం సాధ్యంకాని కారణంగా దీనిని వదిలివేయవలసి వచ్చింది.

ప్రారంభంలో నేను ఈ సైట్‌లో చాలా మంది మార్గాన్ని అనుసరించాను. స్పీడ్‌టెస్ట్-క్లై క్లయింట్‌ని సవరించారు. కానీ, కొంచెం ఆలోచించిన తర్వాత, అతను ఈ ఆలోచనను విరమించుకున్నాడు. అసలు క్లయింట్ యొక్క సామర్థ్యాలను ఉపయోగించే నా స్వంత కార్మికుడిని నేను వ్రాసాను.

పింగ్‌లను విశ్లేషించడానికి, నేను కేవలం ప్రత్యేక హ్యాండ్లర్‌ను వ్రాసాను. మేము కొలత నుండి సగటు విలువను తీసుకుంటాము. పింగ్ సాధనం IP చిరునామా మరియు డొమైన్ పేరు రెండింటినీ నిర్వహించగలదు.

నేను అసమకాలిక పనిని సాధించలేదు. ఈ సందర్భంలో ఇది ప్రత్యేకంగా అవసరం లేదు.

ఫలితాలను మూల్యాంకనం చేయడానికి అడ్మిన్ ప్యానెల్ చాలా తక్కువగా ఉంది.

ఇంటర్నెట్ వేగాన్ని కొలవడానికి ఒక జోండ్ అభివృద్ధిఅంజీర్. పరీక్ష ఫలితాలతో ప్రధాన నిర్వాహక విండో

ఇంటర్నెట్ వేగాన్ని కొలవడానికి ఒక జోండ్ అభివృద్ధిఅంజీర్. పరీక్ష సెట్టింగ్‌లు

ఇంటర్నెట్ వేగాన్ని కొలవడానికి ఒక జోండ్ అభివృద్ధి
అంజీర్. స్పీడ్‌టెస్ట్ సర్వర్‌ల జాబితాను నవీకరించండి

అంతే. నా ఖాళీ సమయంలో, నా మోకాళ్లపై ఆలోచన అమలు చేయబడింది. క్షేత్రస్థాయిలో పరీక్షలు ఇంకా ప్రారంభం కాలేదు. కానీ మేము సమీప భవిష్యత్తులో ప్రోటోటైప్‌లను ప్రారంభించాలని ప్లాన్ చేస్తున్నాము. ఇది అక్కడ ప్రొవైడర్లు మరియు ప్రొవైడర్ల క్లయింట్లు రెండింటినీ ఉపయోగించవచ్చు. గడియారం చుట్టూ ఇంట్లో కొలతలు తీసుకోవడానికి ఎవరూ మిమ్మల్ని ఇబ్బంది పెట్టరు. మీరు గుర్తుంచుకోవలసిన ఏకైక విషయం ఏమిటంటే, మీరు ఇంటర్నెట్‌లో చురుకుగా సర్ఫ్ చేస్తే లేదా ఏదైనా డౌన్‌లోడ్ చేస్తే, అప్పుడు కొలత నిజమైన దాని కంటే తక్కువగా ఉంటుంది. కాబట్టి, ఆదర్శంగా, మీరు ట్రాఫిక్ వినియోగదారుగా మాత్రమే నెట్‌వర్క్‌లో ప్రోబ్‌ను వదిలివేయాలి.

PS: దయచేసి కోడ్ నాణ్యత కోసం నన్ను విమర్శించకండి. నేను అనుభవం లేకుండా స్వీయ-బోధన చేస్తున్నాను. కోసం సోర్స్ కోడ్ గ్యాలరీలు. విమర్శలను స్వీకరిస్తారు.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి