Internetin nopeuden mittausalueen kehittäminen

Internetin nopeuden mittausalueen kehittäminen
Hyvää iltapäivää kaikille Habran käyttäjille.

Luen jatkuvasti Habrén artikkeleita tämän tai tuon toiminnallisuuden kehittämisestä Malinkassa. Päätin jakaa työni täällä.

esihistoria

Työskentelen yrityksessä, joka tarjoaa kaapelitelevisio- ja Internet-yhteyspalveluita. Ja kuten tällaisissa yrityksissä tapahtuu, kuulen ajoittain valituksia tariffisuunnitelman epäjohdonmukaisuudesta sopimuksessa sanotun kanssa. Joko käyttäjä valittaa hitaasta "kaapelin kautta", sitten tiettyjen palveluiden korkeista pingistä, joskus Internetin täydellisestä puuttumisesta tiettyinä vuorokaudenaikoina. Usein tällaiset valitukset päätyvät pyyntöjen joukkoon, jonka perusteella yksi työntekijöistä menee "paikan päälle" toimivalla kannettavalla tietokoneella, jolla kaikki mittaukset tehdään. Ja usein käy ilmi, että kaikki on kunnossa nopeuden kanssa. Ja hidas nopeus on itse asiassa matkapuhelimessa, wi-fin kautta, parvekkeella. No, tai jotain vastaavaa.

Valitettavasti tilaajalle ei ole mahdollista mennä esimerkiksi klo 21:37, kun hänellä on alhaisimmat nopeudet. Työntekijöiden työajathan ovat rajalliset. Reitittimen vaihtaminen ei vaikuta, koska... Wi-Fi:n taajuusalue on maassamme surkeasti sekaisin.

Julkisesti — Valko-Venäjän tasavallan valtiollinen palveluntarjoaja ottaa väkisin Wi-Fi:n käyttöön kaikissa käyttöön tarkoitetuissa laitteissa ja lähettää ByFly SSID:n jokaisesta laitteesta. Vaikka tilaajalla ei olisi Internet-palvelua, vaan vain kotipuhelin. Tämä tehtiin lisämyyntiä varten. Voit ostaa tältä operaattorilta kortin kioskista, muodostaa yhteyden mihin tahansa ByFly-nimiseen pisteeseen ja syöttämällä tiedot kortilta vastaanottaa Internet-palveluita. Koska kaupunkien kattavuus on lähes 100 % ja yksityisen sektorin ja maaseudun kattavuus on merkittävä, yhteyspisteen löytäminen ei ole ongelma.

Ulkoisten viestintäkanavien havainnot osoittavat, että kaistanleveysreservi on tietty. Ja tilaajat eivät kuluta saatavilla olevia kanavia yhteensä edes ruuhka-aikoina. Suhtaudumme tähän erittäin vakavasti. Erilaisten palveluiden ja erilaisten nopeusmittauspalvelinten käyttö johti mielenkiintoisiin tuloksiin. Osoittautuu, että kaikki palvelut eivät ole yhtä hyödyllisiä... Varsinkin iltaisin. Eikä niihin ehdottomasti kannata luottaa. Monilla saman Ookla-verkon operaattoreilla ei ole laajoja viestintäkanavia tai ne toimivat peräkkäin. Tämä tarkoittaa, että illalla on usein lähes mahdotonta saada rehellistä tulosta. Kyllä, ja moottoritiet osoittautuvat syntisiksi. Esimerkiksi yritykset mitata nopeutta Japanissa osoittavat erittäin tuhoisia tuloksia...

Ensisijainen päätös

Internetin nopeuden mittausalueen kehittäminen
Kuva on havainnollistava

Kaksi nopeudenvalvontapalvelinta otettiin käyttöön. Ensimmäinen on LibreSpeed, toinen - Speedtest OOKLAlta. Molempien palvelujen suorituskykyä verrattiin. Loppujen lopuksi päätimme pysähtyä Ooklaan, koska... jopa 90 % tilaajista käyttää tätä palvelua.

Seuraavaksi kirjoitettiin käyttäjille ja työntekijöille ohjeet nopeuksien mittaamiseen verkon sisällä ja ulkopuolella. Nuo. Kun testi alkaa, oletusarvoisesti mitataan verkon nopeus. Palvelin sijaitsee pääkeskuksessamme ja Ookla-ratkaisu valitsee oletuksena tilaajaa lähinnä olevan palvelimen. Näin tarkistamme oman tiedonsiirtoverkkomme toiminnan.

Nopeuden mittaamiseksi maan sisällä (meillä on erillinen verkko teleoperaattoreille, joka yhdistää maan kaikki operaattorit ja tärkeimmät datakeskukset) sinun tulee valita palveluntarjoaja maan sisällä ja tehdä toinen mittaus. Olemme empiirisesti tunnistaneet useita palvelimia, jotka antavat enemmän tai vähemmän vakaita tuloksia mihin aikaan tahansa vuorokaudesta, ja olemme listanneet ne ohjeiden mukaisesti.

No, samanlaiset toimet ulkoisille viestintäkanaville. Löysimme suuret operaattorit, joilla on suuret kanavat nopeustestipalvelimista ja kirjoitimme ne suosituksiin (pahoittelut "Moskva - Rostelecom" ja "Riga - Baltcom", mutta suosittelen näitä solmuja saadakseni riittävät numerot. Henkilökohtaisesti sain jopa ~870 megabittiä nämä palvelimet ruuhka-aikoina).

Miksi, kysyt, niin vaikeudet? Kaikki on hyvin yksinkertaista. Olemme saaneet varsin kätevän työkalun, jonka avulla voimme osaavissa käsissä selvittää, onko verkoissamme ongelmia, onko ongelmia tasavaltaisessa verkossa vai onko ongelmia rungossa. Jos henkilö valittaa alhaisesta latausnopeudesta jostain palvelusta, voimme mitata tilaajan kanavan nopeuden ja verrata sitä siihen, mitä hän saa palvelusta. Ja on kohtuullista osoittaa, että jaamme rehellisesti sopimuksessa määritellyn kanavan. Voimme myös selittää mahdolliset syyt tällaiseen nopeuseroon.

Toissijainen ratkaisu

Kysymys nopeuden laskusta iltaisin/päivisin jää avoimeksi. Kuinka tehdä sama asia olematta tilaajan kotona? Ota halpa gigabitin verkkokortti ja tee siitä ns. Laitteen on suoritettava nopeusmittauksia kaapelia pitkin tietyin aikavälein. Ratkaisun tulee olla avoimen lähdekoodin, mahdollisimman vaatimaton, ja siinä on kätevä hallintapaneeli mittaustulosten katselua varten. Laitteen tulee olla mahdollisimman halpa, jotta se voidaan helposti vaihtaa ja jättää tilaajalle n päiväksi ilman pelkoa.

Реализация

Internetin nopeuden mittausalueen kehittäminen

BananaPI (malli M1) otettiin perustaksi. Tähän valintaan on itse asiassa kaksi syytä.

  1. Gigabitin portti.
  2. Se vain makasi yöpöydällä.

Seuraavaksi päätettiin käyttää python-asiakasohjelmaa speedtest-cli Speedtest by Ookla -palveluun nopeuden mittauksen taustaohjelmaksi. kirjasto Pythonping ping-nopeuden mittaamiseen. No, ja php hallintapaneelille. Havainnon helpottamiseksi käytin bootstrap.

Koska Raspberryn resurssit eivät ole joustavia, käytettiin nginx+php-fpm+sqlite3 yhdistelmää. Halusin luopua MySQL:stä sen raskauden ja redundanssin vuoksi. Odotan Iperfiä koskevan kysymyksen. Siitä jouduttiin luopumaan, koska sitä ei voitu käyttää muihin kuin paikallisiin suuntiin.

Aluksi seurasin monien polkua tällä sivustolla. Muokattu speedtest-cli-asiakasta. Mutta sitten, vähän pohdittuaan, hän hylkäsi tämän idean. Kirjoitin oman työntekijäni, joka käyttää alkuperäisen asiakkaan ominaisuuksia.

Analysoidakseni pingit kirjoitin vain erillisen käsittelijän. Otamme keskiarvon mittauksesta. Ping-työkalu voi käsitellä sekä IP-osoitetta että verkkotunnuksen nimeä.

En saavuttanut asynkronista työtä. Sitä ei tässä tapauksessa erityisesti tarvita.

Tulosten arvioinnin hallintapaneeli osoittautui melko minimalistiseksi.

Internetin nopeuden mittausalueen kehittäminenKuva Pääjärjestelmänvalvojan ikkuna testituloksilla

Internetin nopeuden mittausalueen kehittäminenKuva Testiasetukset

Internetin nopeuden mittausalueen kehittäminen
Kuva Päivitä Speedtest-palvelimien luettelo

Siinä kaikki. Idea toteutettiin polvillani, vapaa-ajallani. Kenttäkokeita ei ole vielä aloitettu. Mutta aiomme julkaista prototyyppejä lähitulevaisuudessa. Sitä voivat käyttää sekä siellä olevat palveluntarjoajat että palveluntarjoajien asiakkaat. Kukaan ei häiritse sinua ottamaan mittauksia kotona ympäri vuorokauden. Ainoa asia, joka sinun tulee muistaa, on se, että jos surffaat aktiivisesti Internetissä tai lataat jotain, mittaus on pienempi kuin todellinen. Ihannetapauksessa sinun on siis jätettävä anturi verkkoon ainoaksi liikenteen kuluttajaksi.

PS: älä arvostele minua koodin laadusta. Olen itseoppinut vailla kokemusta. Lähdekoodi kohteelle GitHub. Kritiikkiä otetaan vastaan.

Lähde: will.com

Lisää kommentti