Pengembangan zond kanggo ngukur kacepetan Internet

Pengembangan zond kanggo ngukur kacepetan Internet
Sugeng siang kanggo kabeh pangguna Habra.

Aku terus maca artikel babagan Habré babagan pangembangan fungsi iki utawa kasebut ing Malinka. Aku mutusaké kanggo nuduhake karya kene.

prasejarah

Aku kerja ing perusahaan sing nyedhiyakake layanan televisi kabel lan akses Internet. Lan, kaya sing kedadeyan ing perusahaan kasebut, aku kerep krungu keluhan babagan inconsistency rencana tarif karo apa sing kasebut ing kontrak. Salah siji pangguna ngeluh babagan kacepetan kurang "liwat kabel", banjur babagan ping dhuwur saka layanan tartamtu, kadhangkala babagan ora lengkap Internet ing wektu tartamtu. Asring keluhan kasebut ana ing kumpulan panjaluk, adhedhasar salah sawijining karyawan "ing situs" karo laptop sing digunakake, sing kabeh pangukuran ditindakake. Lan, asring, ternyata kabeh apik kanthi kacepetan. Lan kacepetan kurang bener ing ponsel, liwat wi-fi, ing loteng. Inggih, utawa sing padha.

Sayange, iku ora bisa kanggo pindhah menyang pelanggan, contone, ing 21:37, nalika wis kacepetan paling. Sawise kabeh, jam kerja karyawan diwatesi. Ngganti router ora ana pengaruhe, amarga ... Rentang frekuensi kanggo wi-fi ing negara kita pancen rame banget.

Kanggo referensi — panyedhiya negara ing Republik Belarus kanthi paksa nguripake wi-fi ing kabeh piranti sing disedhiyakake kanggo digunakake lan nyiarake ByFly SSID saka saben piranti. Malah yen pelanggan ora duwe layanan Internet, nanging mung telpon ngarep. Iki ditindakake kanggo dodolan tambahan. Sampeyan bisa tuku kertu saka operator iki ing kios, nyambung menyang sembarang titik jenenge ByFly lan, kanthi ngetik data saka kertu, nampa layanan Internet. Diwenehi meh 100% jangkoan kutha lan jangkoan signifikan saka sektor swasta lan deso, nemokake titik sambungan ora masalah.

Pengamatan saluran komunikasi eksternal kita nuduhake yen ana cadangan bandwidth sing diwenehake. Lan pelanggan ora nggunakake saluran sing kasedhiya kanthi total, sanajan ing jam sibuk. Kita serius banget babagan iki. Panggunaan layanan sing beda lan server pangukuran kacepetan sing beda nyebabake asil sing menarik. Pranyata ora kabeh layanan padha migunani ... Utamané ing wayah sore. Lan sampeyan mesthi ora bisa dipercaya. Akeh operator saka jaringan Ookla padha ora duwe saluran komunikasi sudhut, utawa bisa bali menyang mburi. Iki tegese ing wayah sore asring meh ora bisa entuk asil sing jujur. Ya, lan dalan gedhe dadi dosa. Contone, upaya kanggo ngukur kacepetan ing Jepang nuduhake asil sing mbebayani banget ...

Kaputusan utami

Pengembangan zond kanggo ngukur kacepetan Internet
Foto minangka ilustrasi

Loro server kontrol kacepetan disebarake. Sing pertama yaiku LibreSpeed, sing nomer loro - Speedtest saka OOKLA. Kinerja loro layanan kasebut dibandhingake. Sawise kabeh, kita mutusake kanggo mandheg ing Ookla amarga ... nganti 90% pelanggan nggunakake layanan iki.

Sabanjure, instruksi ditulis kanggo pangguna lan karyawan babagan cara ngukur kecepatan ing njero lan njaba jaringan. Sing. Nalika tes diwiwiti, kanthi standar kacepetan ing jaringan diukur. Server dumunung ing headend kita, lan solusi Ookla minangka standar milih server sing paling cedhak karo pelanggan. Kanthi cara iki, kita mriksa operasi jaringan transmisi data kita dhewe.

Kanggo ngukur kacepetan ing negara (kita duwe jaringan kapisah kanggo operator telekomunikasi, sing nyawiji kabeh operator lan pusat data utama ing negara), sampeyan kudu milih panyedhiya ing negara kasebut lan njupuk pangukuran kaping pindho. Kita wis dikenali empiris sawetara server sing menehi asil liyane utawa kurang stabil ing sembarang wektu dina lan wis kadhaptar minangka dianjurake ing pandhuan.

Ya, tumindak sing padha kanggo saluran komunikasi eksternal. Kita nemokake operator gedhe kanthi saluran gedhe ing server paling cepet lan nulis ing rekomendasi (nuwun sewu "Moskva - Rostelecom" lan "Riga - Baltcom", nanging aku bakal menehi rekomendasi simpul kasebut kanggo entuk nomer sing cukup. Secara pribadi, aku nampa nganti ~ 870 megabit saka server kasebut sajrone jam sibuk).

Apa, sampeyan takon, kangelan kuwi? Kabeh iku prasaja banget. Kita wis nampa alat sing cukup trep sing, ing tangan sing bisa, ngidini kita nemtokake manawa ana masalah ing jaringan kita, apa ana masalah ing jaringan republik, utawa ana masalah karo balung mburi. Yen ana wong sing ngeluh babagan kacepetan download sing kurang saka sawetara layanan, kita bisa ngukur kacepetan saluran pelanggan banjur mbandhingake karo apa sing ditampa saka layanan kasebut. Lan cukup kanggo nuduhake yen kita kanthi jujur ​​​​nyedhiyakake saluran sing ditemtokake ing kontrak kasebut. Kita uga bisa nerangake alasan sing bisa nyebabake bedane kecepatan kasebut.

Solusi sekunder

Pitakonan babagan kacepetan mudhun ing wayah sore / awan tetep mbukak. Kepiye carane nindakake perkara sing padha tanpa ana ing omah pelanggan? Njupuk kertu siji-papan mirah karo jaringan gigabit lan nggawe sing disebut probe metu saka iku. Piranti kasebut kudu ngukur kacepetan ing sadawane kabel ing interval wektu tartamtu. Solusi kasebut kudu dadi sumber terbuka, sauntara bisa, kanthi panel admin sing trep kanggo ndeleng asil pangukuran. Piranti kasebut kudu murah supaya bisa gampang diganti lan ditinggalake karo pelanggan sajrone n dina tanpa wedi.

Реализация

Pengembangan zond kanggo ngukur kacepetan Internet

BananaPI (model M1) dijupuk minangka basis. Ana rong alasan kanggo pilihan iki.

  1. Gigabit port.
  2. Iku mung glethakaken watara ing nightstand.

Sabanjure, diputusake nggunakake klien python speedtest-cli kanggo layanan Speedtest dening Ookla minangka backend kanggo ngukur kacepetan. Pustaka Pythonping kanggo ngukur kacepetan ping. Inggih, lan php kanggo panel admin. Kanggo ease saka pemahaman aku digunakake bootstrap.

Amarga kasunyatan manawa sumber daya Raspberry ora fleksibel, kombinasi nginx + php-fpm + sqlite3 digunakake. Aku pengin nyerah MySQL amarga abot lan redundansi. Aku ngarepake pitakonan babagan Iperf. Iki kudu ditinggalake amarga ora bisa digunakake ing arah liyane tinimbang sing lokal.

Wiwitane aku ngetutake dalane akeh ing situs iki. Ngowahi klien speedtest-cli. Nanging banjur, sawise mikir sethitik, kang nilar idea iki. Aku nulis buruhku dhewe sing nggunakake kemampuan klien asli.

Kanggo nganalisa ping, aku mung nulis pawang sing kapisah. Kita njupuk nilai rata-rata saka pangukuran. Alat ping bisa nangani alamat IP lan jeneng domain.

Aku ora entuk karya asinkron. Iku ora utamané perlu ing kasus iki.

Panel admin kanggo ngevaluasi asil ternyata cukup minimalis.

Pengembangan zond kanggo ngukur kacepetan InternetGambar. Jendhela admin utama kanthi asil tes

Pengembangan zond kanggo ngukur kacepetan InternetGambar. Setelan test

Pengembangan zond kanggo ngukur kacepetan Internet
Gambar. Nganyari dhaptar server Speedtest

Mekaten. Ide iki dileksanakake ing dhengkul, ing wektu luang. Tes lapangan durung diwiwiti. Nanging kita rencana ngluncurake prototipe ing mangsa ngarep. Bisa digunakake dening panyedhiya ing kana lan dening klien panyedhiya. Ora ana sing ngganggu sampeyan ngukur ing omah saben jam. Ing bab mung sampeyan kudu elinga yen sampeyan aktif Surf Internet utawa ngundhuh soko, pangukuran bakal luwih murah tinimbang sing nyata. Dadi, saenipun, sampeyan kudu ninggalake probe ing jaringan minangka mung konsumen lalu lintas.

PS: monggo aja ngritik kula kanggo kualitas kode. Aku otodidak tanpa pengalaman. Kode sumber kanggo GitHub. Kritik ditampa.

Source: www.habr.com

Add a comment