Интернетийн хурдыг хэмжих бүсийг хөгжүүлэх

Интернетийн хурдыг хэмжих бүсийг хөгжүүлэх
Хабра хэрэглэгчиддээ энэ өдрийн мэндийг хүргэе.

Би Малинка дээрх энэ эсвэл бусад функцийг хөгжүүлэх талаар Хабрегийн нийтлэлүүдийг байнга уншдаг. Би энд хийсэн ажлаа хуваалцахаар шийдлээ.

Эрьт урьдын түүх

Би кабелийн телевиз, интернетийн үйлчилгээ үзүүлдэг компанид ажилладаг. Ийм компаниудад тохиолддог шиг би тарифын төлөвлөгөө нь гэрээнд заасантай нийцэхгүй байгаа тухай гомдлыг үе үе сонсдог. Хэрэглэгч "кабелиар дамжуулан" бага хурдтай, дараа нь зарим үйлчилгээний өндөр пинг, заримдаа өдрийн тодорхой цагт интернет бүрэн байхгүй байгаа талаар гомдоллодог. Ихэнхдээ ийм гомдол санал хүсэлтийн цөөрөмд ордог бөгөөд энэ нь бүх хэмжилтийг хийдэг зөөврийн компьютертэй ажилчдын нэг нь сайтад зочлоход хүргэдэг. Мөн ихэнх тохиолдолд хурдны хувьд бүх зүйл сайхан байдаг. Мөн бага хурд нь үнэндээ гар утсан дээр, wi-fi-ээр, тагтан дээр байдаг. За, эсвэл үүнтэй төстэй зүйл.

Харамсалтай нь захиалагч руу очих боломжгүй, жишээлбэл, 21:37 цагт, тэр хамгийн бага хурдтай байдаг. Эцсийн эцэст ажилчдын ажлын цаг хязгаарлагдмал байдаг. Чиглүүлэгчийг солих нь ямар ч нөлөө үзүүлэхгүй, учир нь... Манай улсад wi-fi-ийн давтамжийн хүрээ үнэхээр эмх замбараагүй байна.

Лавлагаа авах - Бүгд Найрамдах Беларусь улсын төрийн үйлчилгээ үзүүлэгч нь ашиглахаар заасан бүх төхөөрөмж дээр Wi-Fi-г албадан асааж, төхөөрөмж бүрээс ByFly SSID-г цацдаг. Захиалагч интернетийн үйлчилгээгүй, зөвхөн гэрийн утастай байсан ч гэсэн. Үүнийг нэмэлт борлуулалт хийх зорилгоор хийсэн. Та энэ операторын картыг ТҮЦ машинаас худалдан авч, ByFly нэртэй дурын цэгт холбогдож, картнаас мэдээллээ оруулснаар интернетийн үйлчилгээ авах боломжтой. Хотыг бараг 100%, хувийн хэвшил, хөдөө орон нутгийг хамарсан их хэмжээний хамрах хүрээг харгалзан үзэхэд холболтын цэгийг олох нь асуудал биш юм.

Манай гадаад харилцааны сувгуудын ажиглалтаас үзэхэд өгөгдсөн зурвасын өргөний нөөц бий. Захиалагчид ачаалал ихтэй үед ч гэсэн нийт боломжтой сувгуудыг ашигладаггүй. Бид энэ талаар маш нухацтай хандаж байна. Янз бүрийн үйлчилгээ, өөр өөр хурд хэмжих сервер ашиглах нь сонирхолтой үр дүнд хүргэсэн. Бүх үйлчилгээ адилхан ашиг тустай байдаггүй нь харагдаж байна ... Ялангуяа оройн цагаар. Мөн та тэдэнд итгэх ёсгүй. Нэг Ookla сүлжээний олон операторууд өргөн холбооны суваггүй, эсвэл ар араасаа ажилладаг. Энэ нь оройн цагаар шударга үр дүнд хүрэх нь бараг боломжгүй гэсэн үг юм. Тиймээ, хурдны замууд нь нүгэлтэй болж хувирдаг. Жишээлбэл, Японд хурдыг хэмжих оролдлого нь маш гамшигт үр дүнг харуулж байна ...

Анхдагч шийдвэр

Интернетийн хурдыг хэмжих бүсийг хөгжүүлэх
Зураг нь зөвхөн тайлбарлах зорилготой.

Хурдны хяналтын хоёр серверийг байрлуулсан. Эхнийх нь LibreSpeed, Хоёрдугаарт - OOKLA-ийн хурдны тест. Хоёр үйлчилгээний гүйцэтгэлийг харьцуулсан. Эцсийн эцэст бид Оклад зогсохоор шийдсэн, учир нь ... Захиалагчдын 90 хүртэлх хувь нь энэ үйлчилгээг ашигладаг.

Дараа нь хэрэглэгчид болон ажилчдад зориулан сүлжээний гадна болон доторх хурдыг хэрхэн хэмжих зааварчилгааг бичсэн. Тэдгээр. Туршилт эхлэхэд сүлжээний хурдыг анхдагчаар хэмждэг. Сервер нь бидний толгойн хэсэгт байрладаг бөгөөд Ookla шийдэл нь захиалагчтай хамгийн ойр серверийг сонгодог. Ийм байдлаар бид өөрсдийн өгөгдөл дамжуулах сүлжээний ажиллагааг шалгадаг.

Улс доторх хурдыг хэмжихийн тулд (бид тус улсын бүх операторууд болон үндсэн мэдээллийн төвүүдийг нэгтгэдэг харилцаа холбооны операторуудад зориулсан тусдаа сүлжээтэй) улс доторх үйлчилгээ үзүүлэгчийг сонгоод хоёр дахь хэмжилт хийх шаардлагатай. Бид өдрийн аль ч цагт илүү их эсвэл бага тогтвортой үр дүн өгдөг хэд хэдэн серверүүдийг эмпирик байдлаар тодорхойлж, зааварт санал болгосны дагуу жагсаасан болно.

За, гадаад харилцааны сувгуудын хувьд ижил төстэй үйлдлүүд. Бид хурдны тестийн серверүүд дээр том суваг бүхий томоохон операторуудыг олж, зөвлөмжид бичсэн (уучлаарай "Москва - Ростелеком", "Рига - Балтком", гэхдээ би эдгээр зангилааг хангалттай тоогоор авахыг зөвлөж байна. Би хувьдаа ~870 мегабит хүртэл хүлээн авсан. оргил ачааллын үед эдгээр серверүүд).

Яагаад ийм бэрхшээлтэй тулгарав гэж та асууж байна вэ? Бүх зүйл маш энгийн. Чадварлаг гарт манай сүлжээнд асуудал байгаа эсэх, бүгд найрамдах улсын сүлжээнд асуудал байгаа эсэх, эсвэл үндсэн шугамд асуудал байгаа эсэхийг тодорхойлох боломжийг олгодог нэлээд тохиромжтой хэрэгслийг бид хүлээн авлаа. Хэрэв хүн зарим үйлчилгээнээс татаж авах хурд бага байна гэж гомдоллох юм бол бид захиалагчийн сувгийн хурдыг хэмжиж, дараа нь түүний үйлчилгээнээс хүлээн авсан зүйлтэй харьцуулж болно. Мөн бид гэрээнд заасан сувгийг шударгаар хуваарилдаг гэдгийг харуулах нь үндэслэлтэй. Хурдны ийм зөрүүтэй байж болох шалтгааныг бид бас тайлбарлаж болно.

Хоёрдогч шийдэл

Орой/өдрийн цагаар хурд буурах тухай асуулт нээлттэй хэвээр байна. Захиалагчийн гэрт байхгүй бол яаж ижил зүйлийг хийх вэ? Гигабит сүлжээтэй хямд үнэтэй нэг самбартай карт аваад түүгээрээ датчик гэгддэг. Төхөөрөмж нь өгөгдсөн хугацааны интервалаар кабелийн дагуу хурдны хэмжилт хийх ёстой. Энэхүү шийдэл нь хэмжилтийн үр дүнг үзэхэд тохиромжтой админ самбар бүхий нээлттэй эх сурвалжтай, аль болох мадаггүй зөв байх ёстой. Төхөөрөмж нь аль болох хямд байх ёстой бөгөөд ингэснээр амархан сольж, захиалагчтай n өдрийн турш айдасгүйгээр үлдээх боломжтой.

Реализация

Интернетийн хурдыг хэмжих бүсийг хөгжүүлэх

BananaPI (загвар M1) -ийг үндэс болгон авсан. Үнэндээ ийм сонголт хийх хоёр шалтгаан бий.

  1. Гигабит порт.
  2. Шөнийн ширээн дээр зүгээр л хэвтэж байсан.

Дараа нь python клиентийг ашиглахаар шийдсэн speedtest-cli Ookla үйлчилгээний Speedtest-ийн хувьд хурдыг хэмжихэд зориулагдсан. Номын сан Питонпинг ping хурдыг хэмжих. За тэгээд админ самбарт зориулсан php. Ойлголтод хялбар болгох үүднээс би ашигласан эхлүүлэгч.

Raspberry-ийн нөөц нь уян хатан биш учраас nginx+php-fpm+sqlite3 хослолыг ашигласан. Би MySQL-ийг хүнд, илүүдэлтэй учраас орхихыг хүссэн. Би Iperf-тэй холбоотой асуултыг хүлээж байна. Орон нутгийнхаас өөр чиглэлд ашиглах боломжгүй учраас орхихоос өөр аргагүй болсон.

Эхэндээ би энэ сайт дээр олон хүний ​​замыг дагасан. speedtest-cli клиентийг өөрчилсөн. Харин дараа нь бага зэрэг бодсоны эцэст тэр энэ санаагаа орхисон. Би анхны үйлчлүүлэгчийн чадавхийг ашигладаг өөрийн ажилчдыг бичсэн.

Пингүүдийг шинжлэхийн тулд би зүгээр л тусдаа зохицуулагч бичсэн. Бид хэмжилтээс дундаж утгыг авдаг. Пинг хэрэгсэл нь IP хаяг болон домэйн нэрийг хоёуланг нь зохицуулах боломжтой.

Би асинхрон ажилд хүрч чадаагүй. Энэ тохиолдолд энэ нь ялангуяа шаардлагагүй юм.

Үр дүнг үнэлэх админ самбар нь нэлээд минималист болсон.

Интернетийн хурдыг хэмжих бүсийг хөгжүүлэхЗураг. Туршилтын үр дүн бүхий үндсэн админ цонх

Интернетийн хурдыг хэмжих бүсийг хөгжүүлэхЗураг. Туршилтын тохиргоо

Интернетийн хурдыг хэмжих бүсийг хөгжүүлэх
Зураг. Speedtest серверүүдийн жагсаалтыг шинэчил

Тэгээд л болоо. Энэ санааг би өвдөг сөхрөн, чөлөөт цагаараа хэрэгжүүлсэн. Хээрийн туршилт хараахан эхлээгүй байна. Гэхдээ бид ойрын хугацаанд прототипүүдийг гаргахаар төлөвлөж байна. Үүнийг тэнд байгаа үйлчилгээ үзүүлэгч болон үйлчилгээ үзүүлэгчийн үйлчлүүлэгчид ашиглаж болно. Гэртээ өдрийн цагаар хэмжилт хийхэд тань хэн ч саад болохгүй. Таны санаж байх ёстой цорын ганц зүйл бол хэрэв та интернетээр идэвхтэй аялах эсвэл ямар нэгэн зүйл татаж авах юм бол хэмжилт нь бодит хэмжээнээс доогуур байх болно. Тиймээс, хамгийн тохиромжтой нь та зөвхөн траффик хэрэглэгчийн хувьд датчикийг сүлжээнд үлдээх хэрэгтэй.

Жич: кодын чанарт битгий шүүмжлээрэй. Би ямар ч туршлагагүй өөрөө сургадаг. Эх код GitHub. Шүүмжлэлийг хүлээж авдаг.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх