توسعه منطقه ای برای اندازه گیری سرعت اینترنت

توسعه منطقه ای برای اندازه گیری سرعت اینترنت
ظهر به همه کاربران هابرا بخیر.

من دائماً مقالاتی در مورد توسعه این یا آن عملکرد در Malinka در Habré می خوانم. تصمیم گرفتم کارهایم را اینجا به اشتراک بگذارم.

ماقبل تاریخ

من برای شرکتی کار می کنم که خدمات تلویزیون کابلی و دسترسی به اینترنت را ارائه می دهد. و همانطور که در این گونه شرکت ها اتفاق می افتد، من به صورت دوره ای شکایت هایی در مورد عدم تطابق طرح تعرفه با آنچه در قرارداد ذکر شده است می شنوم. یا کاربر از سرعت کم "از طریق کابل" شکایت می کند، سپس از پینگ زیاد برخی خدمات، گاهی اوقات از عدم وجود کامل اینترنت در ساعات خاصی از روز. اغلب، چنین شکایاتی به مجموعه ای از درخواست ها ختم می شود، که بر اساس آن یکی از کارمندان با یک لپ تاپ کار "در محل" می رود، که تمام اندازه گیری ها روی آن انجام می شود. و اغلب، معلوم می شود که همه چیز با سرعت خوب است. و سرعت پایین در واقع روی تلفن همراه، از طریق وای فای، در بالکن است. خوب یا چیزی مشابه

متاسفانه نمی توان مثلا در ساعت 21:37 که کمترین سرعت را دارد به سراغ مشترکی رفت. بالاخره ساعات کاری کارمندان محدود است. تعویض روتر هیچ تاثیری ندارد، زیرا ... محدوده فرکانس وای فای در کشور ما به طرز غم انگیزی به هم ریخته است.

برای ثبت — ارائه‌دهنده دولتی در جمهوری بلاروس به اجبار وای‌فای را در همه دستگاه‌های ارائه‌شده برای استفاده روشن می‌کند و SSID ByFly را از هر دستگاه پخش می‌کند. حتی اگر مشترک سرویس اینترنت نداشته باشد، بلکه فقط تلفن منزل داشته باشد. این برای فروش بیشتر انجام شد. می توانید از این اپراتور در کیوسک کارت خریداری کنید، به هر نقطه ای به نام ByFly متصل شوید و با وارد کردن اطلاعات کارت، خدمات اینترنتی دریافت کنید. با توجه به پوشش تقریبا 100 درصدی شهرها و پوشش قابل توجه بخش خصوصی و مناطق روستایی، یافتن نقطه اتصال مشکلی نیست.

مشاهدات کانال های ارتباطی خارجی ما نشان می دهد که ذخیره پهنای باند مشخصی وجود دارد. و مشترکین حتی در ساعات شلوغی، مجموعاً کانال های موجود را مصرف نمی کنند. ما در این مورد بسیار جدی هستیم. استفاده از سرویس های مختلف و سرورهای اندازه گیری سرعت مختلف منجر به نتایج جالبی شد. معلوم است که همه خدمات به یک اندازه مفید نیستند ... مخصوصاً عصرها. و قطعاً نباید به آنها اعتماد کنید. بسیاری از اپراتورهای همان شبکه Ookla کانال های ارتباطی گسترده ای ندارند یا پشت سر هم کار می کنند. این بدان معنی است که در عصر اغلب تقریباً غیرممکن است که به یک نتیجه صادقانه برسید. بله، و بزرگراه ها گناه دارند. به عنوان مثال، تلاش برای اندازه گیری سرعت در ژاپن نتایج بسیار فاجعه باری را نشان می دهد ...

تصمیم اولیه

توسعه منطقه ای برای اندازه گیری سرعت اینترنت
عکس گویا است

دو سرور کنترل سرعت مستقر شدند. اولی است LibreSpeed، دومین - تست سرعت از OOKLA. عملکرد هر دو سرویس مقایسه شد. بالاخره تصمیم گرفتیم در Ookla توقف کنیم چون... تا 90 درصد از مشترکین از این سرویس استفاده می کنند.

در ادامه، دستورالعمل هایی برای کاربران و کارمندان در مورد نحوه اندازه گیری سرعت در داخل و خارج از شبکه نوشته شد. آن ها هنگامی که آزمایش شروع می شود، به طور پیش فرض سرعت درون شبکه اندازه گیری می شود. سرور در قسمت اصلی ما قرار دارد و راه حل Ookla به طور پیش فرض نزدیک ترین سرور به مشترک را انتخاب می کند. به این ترتیب ما عملکرد شبکه انتقال داده خود را بررسی می کنیم.

برای اندازه گیری سرعت در داخل کشور (ما یک شبکه مجزا برای اپراتورهای مخابراتی داریم که همه اپراتورها و مراکز داده اصلی داخل کشور را متحد می کند)، باید یک ارائه دهنده در داخل کشور انتخاب کنید و اندازه گیری دوم را انجام دهید. ما به طور تجربی چندین سرور را شناسایی کرده ایم که نتایج کم و بیش پایداری را در هر زمانی از روز ارائه می دهند و آنها را به عنوان توصیه شده در دستورالعمل ها فهرست کرده ایم.

خوب، اقدامات مشابه برای کانال های ارتباطی خارجی. ما اپراتورهای بزرگ با کانال های بزرگ را در سرورهای سرعت تست پیدا کردیم و آنها را در توصیه هایی نوشتیم (با عرض پوزش "Moskva - Rostelecom" و "Riga - Baltcom"، اما من این گره ها را برای دریافت اعداد کافی توصیه می کنم. من شخصاً تا 870 مگابیت را دریافت کردم. این سرورها در ساعات اوج مصرف).

می‌پرسید چرا چنین مشکلاتی وجود دارد؟ همه چیز بسیار ساده است. ما ابزار نسبتاً مناسبی دریافت کرده‌ایم که در دستان توانمند به ما امکان می‌دهد تشخیص دهیم که آیا در شبکه‌های ما مشکلاتی وجود دارد، آیا مشکلاتی در شبکه جمهوری وجود دارد یا اینکه آیا مشکلاتی در ستون فقرات وجود دارد. اگر شخصی از سرعت پایین دانلود از سرویسی شکایت داشته باشد، می توانیم سرعت کانال مشترک را اندازه گیری کنیم و سپس آن را با آنچه از سرویس دریافت می کند مقایسه کنیم. و منطقی است که نشان دهیم کانال مشخص شده در قرارداد را صادقانه تخصیص می دهیم. همچنین می توانیم دلایل احتمالی چنین تفاوت سرعت را توضیح دهیم.

راه حل ثانویه

سوال افت سرعت در عصرها / در طول روز همچنان باز است. چگونه بدون حضور در منزل مشترک همین کار را انجام دهیم؟ یک کارت تک برد ارزان با شبکه گیگابیتی بردارید و از آن به اصطلاح پروب بسازید. دستگاه باید در یک بازه زمانی معین سرعت را در طول کابل اندازه گیری کند. راه حل باید منبع باز، تا حد امکان بی تکلف، با یک پنل مدیریت مناسب برای مشاهده نتایج اندازه گیری باشد. دستگاه باید تا حد امکان ارزان باشد تا بتوان به راحتی آن را تعویض کرد و n روز بدون ترس نزد مشترک گذاشت.

اجرا

توسعه منطقه ای برای اندازه گیری سرعت اینترنت

BananaPI (مدل M1) به عنوان پایه در نظر گرفته شد. در واقع دو دلیل برای این انتخاب وجود دارد.

  1. پورت گیگابیت
  2. فقط در اتاق خواب دراز کشیده بود.

در مرحله بعد، تصمیم به استفاده از کلاینت پایتون گرفته شد speedtest-cli برای سرویس Speedtest توسط Ookla به عنوان پشتوانه ای برای اندازه گیری سرعت. کتابخانه پایتونپینگ برای اندازه گیری سرعت پینگ خوب، و php برای پنل مدیریت. برای سهولت درک استفاده کردم بوت استرپ.

با توجه به انعطاف پذیر نبودن منابع رزبری از ترکیب nginx+php-fpm+sqlite3 استفاده شد. من می خواستم MySQL را به دلیل سنگینی و افزونگی آن کنار بگذارم. من یک سوال در مورد Iperf پیش بینی می کنم. به دلیل عدم امکان استفاده از آن در مسیرهایی غیر از مسیرهای محلی باید رها می شد.

در ابتدا من مسیر بسیاری را در این سایت دنبال کردم. کلاینت speedtest-cli را اصلاح کرد. اما پس از اندکی تفکر، این ایده را کنار گذاشت. من کارگر خودم را نوشتم که از قابلیت های مشتری اصلی استفاده می کند.

برای تجزیه و تحلیل پینگ ها، من به سادگی یک هندلر جداگانه نوشتم. مقدار متوسط ​​را از اندازه گیری می گیریم. ابزار پینگ می تواند آدرس IP و نام دامنه را مدیریت کند.

من به کار ناهمزمان نرسیدم. در این مورد به ویژه مورد نیاز نیست.

پنل مدیریت برای ارزیابی نتایج کاملاً حداقلی بود.

توسعه منطقه ای برای اندازه گیری سرعت اینترنتشکل پنجره مدیریت اصلی با نتایج آزمایش

توسعه منطقه ای برای اندازه گیری سرعت اینترنتشکل تنظیمات تست

توسعه منطقه ای برای اندازه گیری سرعت اینترنت
شکل لیست سرورهای Speedtest را به روز کنید

همین. این ایده روی زانوهای من، در اوقات فراغت من اجرا شد. آزمایشات میدانی هنوز آغاز نشده است. اما ما قصد داریم در آینده نزدیک نمونه های اولیه را عرضه کنیم. می تواند هم توسط ارائه دهندگان آنجا و هم توسط مشتریان ارائه دهندگان استفاده شود. هیچ کس شما را اذیت نمی کند که شبانه روز در خانه اندازه گیری کنید. تنها چیزی که باید به خاطر بسپارید این است که اگر به طور فعال در اینترنت گشت و گذار کنید یا چیزی دانلود کنید، اندازه گیری کمتر از اندازه واقعی خواهد بود. بنابراین، در حالت ایده آل، باید کاوشگر را به عنوان تنها مصرف کننده ترافیک در شبکه رها کنید.

PS: لطفا از من به خاطر کیفیت کد انتقاد نکنید. من خودم بدون تجربه هستم کد منبع برای GitHub. انتقاد پذیرفته میشود.

منبع: www.habr.com

اضافه کردن نظر