التعرّف على معدل نقل البيانات المنخفض ووقت الاستجابة المرتفع

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

اختبار معدل نقل بيانات منخفض ووقت استجابة مرتفع

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

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

محاكاة ضبط الحد الأقصى المسموح لعرض نطاق الشبكة

عند إنشاء موقع إلكتروني أو تحديثه، يجب عليك ضمان الأداء المناسب في مجموعة متنوعة من حالات الاتصال. يمكن أن تساعدك عدة أدوات.

أدوات المتصفّح

تتيح لك أدوات مطوري البرامج في Chrome اختبار موقعك الإلكتروني مع مجموعة متنوعة من سرعات التحميل والتنزيل ومُدد الذهاب والعودة، وذلك باستخدام إعدادات مسبقة أو إعدادات مخصّصة من لوحة "الشبكة". اطّلِع على البدء في استخدام ميزة "تحليل أداء الشبكة" لتعرّف على الأساسيات.

تقييد "أدوات مطوري البرامج في Chrome"

أدوات النظام

Network Link Conditioner هي لوحة تفضيلات متوفرة على Mac إذا قمت بتثبيت Device IO Tools لـ Xcode:

لوحة التحكّم في أداة "مُكيّف رابط الشبكة" على أجهزة Mac

إعدادات Mac Network Link Conditioner

الإعدادات المخصّصة لتطبيق "مُكيّف اتصالات الشبكة" في نظام التشغيل Mac

محاكاة الجهاز

يتيح لك محاكي Android محاكاة ظروف الشبكة المختلفة أثناء تشغيل التطبيقات (بما في ذلك متصفّحات الويب وتطبيقات الويب المختلطة) على Android:

Android Emulator

إعدادات Android Emulator

بالنسبة إلى iPhone، يمكن استخدام Network Link Conditioner لمحاكاة ظروف الشبكة الضعيفة (انظر أعلاه).

إجراء الاختبار من مواقع جغرافية وشبكات مختلفة

يعتمد أداء الاتصال على الموقع الجغرافي للخادم ونوع الشبكة.

WebPagetest هي خدمة على الإنترنت تتيح إجراء مجموعة من اختبارات الأداء لموقعك باستخدام مجموعة متنوعة من الشبكات ومواقع المضيف. على سبيل المثال، يمكنك تجربة موقعك الإلكتروني من خادم في الهند على شبكة 2G أو من خلال كابل من مدينة في الولايات المتحدة.

إعدادات WebPagetest

اختَر موقعًا جغرافيًا، ثم اختَر نوع اتصال من الإعدادات المتقدّمة. يمكنك أيضًا برمجة الاختبار باستخدام النصوص البرمجية (على سبيل المثال، لتسجيل الدخول إلى موقع إلكتروني) أو باستخدام واجهات برمجة تطبيقات RESTful الخاصة بها. يساعدك ذلك في تضمين اختبار الاتصال في عمليات الإنشاء أو تسجيل الأداء.

يتيح Fiddler استخدام الخادم الوكيل العالمي من خلال GeoEdge، ويمكن استخدام قواعده المخصّصة لمحاكاة سرعات المودم:

خادم Fiddler الوكيل

إجراء الاختبار على شبكة بها مشاكل

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

التحكّم المتقدّم في عدد الزيارات (ATC) من Facebook هو مجموعة من التطبيقات المرخّصة بموجب ترخيص BSD يمكن استخدامها لتشكيل عدد الزيارات ومحاولة محاكاة حالات الشبكة التي تتضمّن مشاكل:

التحكم المعزز في حركة الزيارات من Facebook

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

يمكن استخدام Charles الخادم الوكيل HTTP/HTTPS لضبط معدل نقل البيانات ووقت الاستجابة. ‫Charles هو برنامج تجاري، ولكن تتوفّر فترة تجريبية مجانية.

إعدادات معدل نقل البيانات ووقت الاستجابة لخادم Charles الوكيل

يمكنك الاطّلاع على مزيد من المعلومات عن تشارلز على codewithchris.com.

التعامل مع الاتصال غير الموثوق به و"شبكة Wi-Fi الكاذبة"

ما هو نظام lie-fi؟

يعود مصطلح lie-fi إلى عام 2008 على الأقل (عندما كانت الهواتف تبدو بهذه)، ويشير إلى الاتصال الذي ليس كما يبدو. يتصرف المتصفّح كما لو كان متصلاً بالإنترنت، ولكنه ليس كذلك لعدة أسباب.

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

من المرجّح أن تصبح شبكة Lie-fi مشكلة أكبر مع انتقال المزيد من المستخدمين إلى الأجهزة الجوّالة والابتعاد عن استخدام شبكة النطاق الترددي الواسع الثابت. تُظهر بيانات التعداد السكاني في الولايات المتحدة الابتعاد عن استخدام النطاق العريض الثابت. يعرض الرسم البياني التالي استخدام الإنترنت الجوّال في المنزل في عام 2015 مقارنةً بعام 2013:

مخطط من بيانات التعداد السكاني في الولايات المتحدة يُظهر الانتقال إلى الهاتف
المحمول بعيدًا عن النطاق الترددي الواسع الثابت، لا سيما في الأسر ذات الدخل المنخفض

استخدام المُهَل للتعامل مع الاتصال المتقطّع

في الماضي، كان يتم استخدام الطرق الصعبة لاستخدام XHR لاختبار الاتصال المتقطّع، غير أنّ مشغّل الخدمات يتيح طرقًا أكثر موثوقية لضبط مُهَل الشبكة. يمكن تحقيق ذلك باستخدام Workbox مع بضعة أسطر من الرموز فقط:

workboxSW.router.registerRoute(
  '/path/to/image',
  workboxSW.strategies.networkFirst({networkTimeoutSeconds: 3}),
);

يمكنك الاطّلاع على مزيد من المعلومات عن Workbox في محاضرة Jeff Posnick ضمن Chrome Dev Summit بعنوان Workbox: مكتبات مرنة لتطبيقات الويب التقدّمية.

يتم أيضًا تطوير وظيفة وقت الاستراحة لواجهة Fetch API، ومن المفترض أن تساعد واجهة Streams API في تحسين عرض المحتوى وتجنُّب الطلبات المُجمّعة. يقدّم "جاك أرشيبالد" مزيدًا من التفاصيل حول معالجة بيانات غير صحيحة في تحسين سرعة تحميل الصفحة.

ملاحظات