تطوير منطقة لقياس سرعة الإنترنت

تطوير منطقة لقياس سرعة الإنترنت
مساء الخير لجميع مستخدمي الهبرة.

أقرأ باستمرار مقالات عن حبري حول تطوير هذه الوظيفة أو تلك في مالينكا. قررت أن أشارك عملي هنا.

قبل التاريخ

أعمل في شركة تقدم خدمات تلفزيون الكابل والوصول إلى الإنترنت. وكما يحدث في مثل هذه الشركات، أسمع بشكل دوري شكاوى حول عدم اتساق خطة التعريفة مع ما هو مذكور في العقد. إما أن يشكو المستخدم من السرعة المنخفضة "عبر الكابل"، ثم من الأصوات العالية لخدمات معينة، وأحيانًا من الغياب التام للإنترنت في أوقات معينة من اليوم. في كثير من الأحيان، تنتهي مثل هذه الشكاوى بمجموعة من الطلبات، مما يؤدي إلى زيارة الموقع من قبل أحد الموظفين باستخدام جهاز كمبيوتر محمول يعمل، حيث يتم أخذ جميع القياسات عليه. وغالبًا ما يتبين أن كل شيء على ما يرام مع السرعة. والسرعة المنخفضة موجودة بالفعل على الهاتف المحمول عبر شبكة wi-fi على الشرفة. حسنا، أو شيء من هذا القبيل.

للأسف، لا يمكن الذهاب إلى مشترك مثلاً عند الساعة 21:37 عندما يكون لديه أقل السرعات. بعد كل شيء، ساعات عمل الموظفين محدودة. استبدال جهاز التوجيه ليس له أي تأثير، لأن... نطاق التردد لشبكة Wi-Fi في بلدنا مزدحم للغاية.

للسجل - يقوم مزود الخدمة الحكومي في جمهورية بيلاروسيا بتشغيل شبكة Wi-Fi بالقوة على جميع الأجهزة المقدمة للاستخدام ويبث ByFly SSID من كل جهاز. حتى لو لم يكن المشترك لديه خدمة إنترنت، بل هاتف منزلي فقط. وقد تم ذلك من أجل مبيعات إضافية. يمكنك شراء بطاقة من هذا المشغل في كشك، والاتصال بأي نقطة تسمى ByFly، وعن طريق إدخال البيانات من البطاقة، احصل على خدمات الإنترنت. ونظراً لتغطية المدن بنسبة 100% تقريباً والتغطية الكبيرة للقطاع الخاص والمناطق الريفية، فإن العثور على نقطة اتصال لا يمثل مشكلة.

تظهر ملاحظات قنوات الاتصال الخارجية لدينا أن هناك احتياطيًا محددًا لعرض النطاق الترددي. ولا يستهلك المشتركون القنوات المتاحة إجمالاً، حتى خلال ساعة الذروة. نحن جادون جدا في هذا الشأن. أدى استخدام خدمات مختلفة وخوادم مختلفة لقياس السرعة إلى نتائج مثيرة للاهتمام. اتضح أنه ليست كل الخدمات مفيدة بنفس القدر... خاصة في المساء. ولا يجب أن تثق بهم بالتأكيد. العديد من مشغلي نفس شبكة Ookla ليس لديهم قنوات اتصال واسعة، أو يعملون بشكل متتالي. هذا يعني أنه في المساء يكاد يكون من المستحيل الحصول على نتيجة صادقة. وتبين أن الطرق السريعة خاطئة. على سبيل المثال، تظهر محاولات قياس السرعة في اليابان نتائج كارثية للغاية...

القرار الابتدائي

تطوير منطقة لقياس سرعة الإنترنت
الصورة توضيحية

تم نشر خادمين للتحكم في السرعة. اول واحد هو ليبر سبيد، ثانية - اختبار السرعة من OOKLA. وتمت مقارنة أداء كلتا الخدمتين. بعد كل شيء، قررنا التوقف عند Ookla لأنه... ما يصل إلى 90٪ من المشتركين يستخدمون هذه الخدمة.

بعد ذلك، تمت كتابة تعليمات للمستخدمين والموظفين حول كيفية قياس السرعات داخل الشبكة وخارجها. أولئك. عندما يبدأ الاختبار، يتم قياس السرعة داخل الشبكة بشكل افتراضي. يقع الخادم في الواجهة الرئيسية لدينا، ويقوم حل Ookla افتراضيًا بتحديد الخادم الأقرب إلى المشترك. وبهذه الطريقة نتحقق من تشغيل شبكة نقل البيانات الخاصة بنا.

لقياس السرعة داخل الدولة (لدينا شبكة منفصلة لمشغلي الاتصالات، والتي توحد جميع المشغلين ومراكز البيانات الرئيسية داخل الدولة)، تحتاج إلى تحديد مزود داخل الدولة وإجراء قياس ثانٍ. لقد حددنا تجريبيًا العديد من الخوادم التي توفر نتائج أكثر أو أقل استقرارًا في أي وقت من اليوم وأدرجناها على النحو الموصى به في التعليمات.

حسنا، إجراءات مماثلة لقنوات الاتصال الخارجية. وجدنا مشغلين كبارًا لديهم قنوات كبيرة على خوادم اختبار السرعة وكتبناهم في التوصيات (عذرًا "Moskva - Rostelecom" و"Riga - Baltcom"، لكنني سأوصي بهذه العقد للحصول على أرقام كافية. شخصيًا، تلقيت ما يصل إلى 870 ميجابت تقريبًا من هذه الخوادم خلال ساعات الذروة).

تسأل لماذا هذه الصعوبات؟ كل شيء بسيط جدا. لقد تلقينا أداة مريحة إلى حد ما تسمح لنا، في أيدٍ قادرة، بتحديد ما إذا كانت هناك مشاكل في شبكاتنا، أو ما إذا كانت هناك مشاكل في الشبكة الجمهورية، أو ما إذا كانت هناك مشاكل في العمود الفقري. إذا اشتكى أحد الأشخاص من انخفاض سرعة التنزيل من بعض الخدمات، فيمكننا قياس سرعة قناة المشترك ومن ثم مقارنتها بما يصله من الخدمة. ومن المعقول أن نظهر أننا نخصص القناة المحددة في العقد بأمانة. يمكننا أيضًا شرح الأسباب المحتملة لهذا الاختلاف في السرعات.

الحل الثانوي

مسألة انخفاض السرعة في المساء/أثناء النهار تظل مفتوحة. كيف تفعل نفس الشيء دون أن تكون في منزل المشترك؟ خذ بطاقة أحادية اللوحة رخيصة الثمن مزودة بشبكة جيجابت وقم بإجراء ما يسمى بالمسبار منها. يجب أن يأخذ الجهاز قياسات السرعة على طول الكابل في فترة زمنية معينة. يجب أن يكون الحل مفتوح المصدر، وبسيطًا قدر الإمكان، مع لوحة إدارة ملائمة لعرض نتائج القياس. يجب أن يكون الجهاز رخيصًا قدر الإمكان بحيث يمكن استبداله بسهولة وتركه مع المشترك لمدة n من الأيام دون خوف.

تطبيق

تطوير منطقة لقياس سرعة الإنترنت

تم أخذ BananaPI (نموذج M1) كأساس. هناك في الواقع سببان لهذا الاختيار.

  1. منفذ جيجابت.
  2. لقد كان مستلقيًا في المنضدة.

بعد ذلك، تقرر استخدام عميل بايثون speedtest-المبادرة القطرية لخدمة Speedtest by Ookla كواجهة خلفية لقياس السرعة. مكتبة بايثون بينغ لقياس سرعة البنج . حسنًا، وphp للوحة الإدارة. لسهولة الإدراك اعتدت ألبس الحذاء.

نظرًا لأن موارد Raspberry ليست مرنة، فقد تم استخدام مجموعة nginx+php-fpm+sqlite3. كنت أرغب في التخلي عن MySQL بسبب ثقلها وتكرارها. أتوقع سؤال بخصوص Iperf. وكان لا بد من التخلي عنها بسبب استحالة استخدامها في اتجاهات أخرى غير الاتجاهات المحلية.

في البداية اتبعت مسار الكثيرين على هذا الموقع. تم تعديل عميل speedtest-cli. ولكن بعد ذلك، بعد التفكير قليلا، تخلى عن هذه الفكرة. لقد كتبت العامل الخاص بي الذي يستخدم إمكانيات العميل الأصلي.

لتحليل الأصوات، قمت ببساطة بكتابة معالج منفصل. نحن نأخذ القيمة المتوسطة من القياس. يمكن لأداة ping التعامل مع عنوان IP واسم المجال.

لم أحقق عملاً غير متزامن. ليست هناك حاجة إليها بشكل خاص في هذه الحالة.

تبين أن لوحة الإدارة لتقييم النتائج بسيطة للغاية.

تطوير منطقة لقياس سرعة الإنترنتالتين. نافذة الإدارة الرئيسية مع نتائج الاختبار

تطوير منطقة لقياس سرعة الإنترنتالتين. إعدادات الاختبار

تطوير منطقة لقياس سرعة الإنترنت
التين. قم بتحديث قائمة خوادم Speedtest

هذا كل شئ. تم تنفيذ الفكرة على ركبتي، في وقت فراغي. ولم تبدأ الاختبارات الميدانية بعد. لكننا نخطط لإطلاق نماذج أولية في المستقبل القريب. يمكن استخدامه من قبل مقدمي الخدمة هناك وعملاء مقدمي الخدمة. لا أحد يزعجك بأخذ القياسات في المنزل على مدار الساعة. الشيء الوحيد الذي يجب أن تتذكره هو أنه إذا كنت تتصفح الإنترنت بنشاط أو تقوم بتنزيل شيء ما، فسيكون القياس أقل من القياس الحقيقي. لذلك، من الناحية المثالية، تحتاج إلى ترك المسبار على الشبكة باعتباره المستهلك الوحيد لحركة المرور.

ملاحظة: من فضلك لا تنتقدني بسبب جودة الكود. أنا علمت نفسي بدون خبرة. كود المصدر ل GitHub جيثب:. النقد مقبول.

المصدر: www.habr.com

إضافة تعليق