Interneten abiadura neurtzeko zond baten garapena

Interneten abiadura neurtzeko zond baten garapena
Arratsalde on Habra erabiltzaile guztiei.

Etengabe irakurtzen ditut HabrΓ©-ri buruzko artikuluak Malinkaren funtzionalitate honen edo besteren garapenari buruz. Nire lana hemen partekatzea erabaki nuen.

historiaurrea

Kable bidezko telebista eta Interneterako sarbidea zerbitzuak eskaintzen dituen enpresa batean egiten dut lan. Eta, halako enpresetan gertatzen den bezala, tarifa-planak kontratuan adierazitakoarekin bat ez datozen kexak entzuten ditut aldian-aldian. Edo erabiltzailea kexatzen da abiadura baxua "kable bidez", gero zerbitzu batzuen ping altuak direla eta, batzuetan, eguneko ordu jakin batzuetan Internet erabat ez egoteagatik. Askotan, horrelako kexak eskaera multzo batean amaitzen dira, eta horrek lan egiten duen ordenagailu eramangarria duen langileetako batek gunera bisita eragiten du, eta bertan neurketa guztiak hartzen dira. Eta, askotan, abiadurarekin dena ondo dagoela ematen du. Eta abiadura baxua telefono mugikorrean dago, wi-fi bidez, balkoian. Tira, edo antzeko zerbait.

Zoritxarrez, ezin da harpidedun batengana joan, adibidez, 21:37an, abiadura baxuenak dituenean. Azken finean, langileen lanaldia mugatua da. Bideratzailea ordezkatzeak ez du eraginik, zeren... Gure herrialdean wi-fiaren maiztasun-tartea oso nahasia da.

Erregistrotik β€” Bielorrusiako Errepublikako estatu hornitzaileak indarrez wi-fia pizten du erabiltzeko emandako gailu guztietan eta ByFly SSID igortzen du gailu bakoitzetik. Nahiz eta harpidedunak Internet zerbitzurik ez izan, etxeko telefonoa baizik. Hau salmenta gehigarrietarako egin zen. Operadore honi txartel bat eros diezaiokezu kiosko batean, ByFly izeneko edozein puntutara konektatu eta, txartelaren datuak sartuz, Interneteko zerbitzuak jaso. Hirien ia % 100eko estaldura eta sektore pribatuaren eta landa eremuen estaldura handia ikusita, konexio puntu bat aurkitzea ez da arazoa.

Gure kanpoko komunikazio-kanalen behaketek erakusten dute banda-zabalera erreserba jakin bat dagoela. Eta harpidedunek ez dituzte guztira dauden kanalak kontsumitzen, puntako orduetan ere. Oso serio ari gara honetan. Zerbitzu desberdinak eta abiadura neurtzeko zerbitzari desberdinak erabiltzeak emaitza interesgarriak ekarri zituen. Ematen da zerbitzu guztiak ez direla berdin baliagarriak... Batez ere arratsaldeetan. Eta ez zenuke haietaz fidatu behar. Ookla sare bereko operadore askok ez dute komunikazio-kanal zabalik, edo atzetik lan egiten dute. Horrek esan nahi du arratsaldean askotan ia ezinezkoa dela emaitza zintzoa lortzea. Bai, eta errepideak bekatari bihurtzen dira. Adibidez, Japonian abiadura neurtzeko saiakerek oso emaitza negargarriak erakusten dituzte...

Lehen erabakia

Interneten abiadura neurtzeko zond baten garapena
Argazkia ilustraziorako soilik da.

Abiadura kontrolatzeko bi zerbitzari zabaldu ziren. Lehenengoa da LibreSpeed, bigarren - OOKLAren abiadura proba. Bi zerbitzuen errendimendua alderatu da. Azken finean, Ooklan gelditzea erabaki genuen, zeren... harpidedunen %90ek zerbitzu hau erabiltzen dute.

Jarraian, erabiltzaile eta langileentzako argibideak idatzi ziren sare barruko eta kanpo abiadurak neurtzeko. Horiek. Proba hasten denean, lehenespenez sare barruko abiadura neurtzen da. Zerbitzaria gure goiburuan dago, eta Ookla irtenbideak lehenespenez harpidedunetik hurbilen dagoen zerbitzaria hautatzen du. Modu honetan, gure datu-transmisio sarearen funtzionamendua egiaztatzen dugu.

Herrialdearen barruan abiadura neurtzeko (telekomunikazio-operadoreentzako sare bereizia dugu, herrialdeko operadore guztiak eta datu-zentro nagusiak batzen dituena), herrialdeko hornitzaile bat hautatu eta bigarren neurketa bat egin behar duzu. Eguneko edozein unetan emaitza gutxi-asko egonkorrak ematen dituzten hainbat zerbitzari enpirikoki identifikatu ditugu eta argibideetan gomendatutako moduan zerrendatu ditugu.

Bada, kanpoko komunikazio kanaletarako antzeko ekintzak. Abiadurazko zerbitzarietan kanal handiak dituzten operadore handiak aurkitu ditugu eta gomendioetan idatzi ditugu (barkatu "Moskva - Rostelecom" eta "Riga - Baltcom", baina nodo hauek gomendatuko ditut zenbaki egokiak lortzeko. Pertsonalki, ~ 870 megabit-etik jaso nuen). zerbitzari hauek puntako orduetan).

Zergatik, galdetzen duzu, halako zailtasunak? Dena oso sinplea da. Tresna nahiko erosoa jaso dugu, esku gaitasunetan, gure sareetan arazoak dauden, sare errepublikanoan arazoak dauden edo bizkarrezurrarekin arazoak dauden zehazteko aukera ematen diguna. Pertsona bat zerbitzu batzuen deskarga-abiadura baxuaz kexatzen bada, harpidedunaren kanalaren abiadura neur dezakegu eta gero zerbitzutik jasotzen duenarekin alderatu. Eta zentzuzkoa da kontratuan zehaztutako kanala zintzotasunez esleitzen dugula erakustea. Abiadura ezberdintasunaren arrazoi posibleak ere azal ditzakegu.

Bigarren mailako soluzioa

Arratsaldeetan/egunean zehar abiadura jaitsieraren auziak zabalik jarraitzen du. Nola egin gauza bera harpidedunaren etxean egon gabe? Hartu gigabit sareko plaka bakarreko txartel merke bat eta egin zunda deritzona. Gailuak abiadura-neurketak hartu behar ditu kablean zehar, denbora tarte jakin batean. Irtenbideak kode irekia izan behar du, ahalik eta itxurarik gabekoena, neurketen emaitzak ikusteko administrazio panel eroso batekin. Gailuak ahalik eta merkeena izan behar du, erraz ordezkatu eta harpidedunari n egunez beldurrik gabe utzi ahal izateko.

Inplementazioa

Interneten abiadura neurtzeko zond baten garapena

BananaPI (M1 eredua) hartu zen oinarritzat. Egia esan, bi arrazoi daude aukeraketa hau egiteko.

  1. Gigabit ataka.
  2. Gaueko mahaian etzanda zegoen.

Ondoren, python bezeroa erabiltzea erabaki zen Speedtest-cli Speedtest by Ookla zerbitzurako abiadura neurtzeko backend gisa. liburutegia Pythonping ping abiadura neurtzeko. Beno, eta php administrazio panelerako. Pertzepzioa errazteko erabili nuen bootstrap.

Raspberry-ren baliabideak malguak ez direnez, nginx+php-fpm+sqlite3 konbinazioa erabili zen. MySQLri uko egin nahi izan diot bere astuntasunagatik eta erredundantziagatik. Iperf-i buruzko galdera bat aurreikusten dut. Bertakoak ez diren beste noranzkoetan erabiltzeko ezinezkoa zela eta bertan behera utzi behar izan zen.

Hasieran gune honetako askoren bidea jarraitu nuen. speedtest-cli bezeroa aldatu da. Baina gero, pixka bat pentsatu ondoren, ideia hori alde batera utzi zuen. Jatorrizko bezeroaren gaitasunak erabiltzen dituen nire langilea idatzi nuen.

Ping-ak aztertzeko, kudeatzaile bereizi bat idatzi dut. Neurketatik batez besteko balioa hartzen dugu. Ping tresnak IP helbidea eta domeinu izena kudeatu ditzake.

Ez nuen lan asinkronorik lortu. Ez da bereziki beharrezkoa kasu honetan.

Emaitzak ebaluatzeko administrazio panela nahiko minimalista izan zen.

Interneten abiadura neurtzeko zond baten garapenaFig. Admin leiho nagusia proben emaitzekin

Interneten abiadura neurtzeko zond baten garapenaFig. Proba ezarpenak

Interneten abiadura neurtzeko zond baten garapena
Fig. Eguneratu Speedtest zerbitzarien zerrenda

Hori da dena. Belaunikoetan gauzatu nuen ideia, nire denbora librean. Eremuko probak oraindik ez dira hasi. Baina etorkizun hurbilean prototipoak martxan jartzeko asmoa dugu. Bertan hornitzaileek zein hornitzaileen bezeroek erabil dezakete. Inork ez zaitu traba egiten etxean neurketak egiteko ordu osoan. Gogoratu behar duzun gauza bakarra da Interneten nabigatzen baduzu edo zerbait deskargatzen baduzu, orduan neurketa benetakoa baino txikiagoa izango dela. Beraz, hoberena, zunda sarean utzi behar duzu trafiko kontsumitzaile bakar gisa.

PS: mesedez, ez nazazu kritikatu kodearen kalitateagatik. Esperientziarik gabe autodidakta naiz. Iturburu kodea GitHub. Kritikak onartzen dira.

Iturria: www.habr.com

Gehitu iruzkin berria