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

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

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

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

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

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

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

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

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

أدوات النظام

أداة "تحسين ربط الشبكة" هي لوحة خيارات متاحة على أجهزة Mac في حال تثبيت أدوات Hardware IO لنظام Xcode:

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

إعدادات أداة "مُحسِّن اتصالات الشبكة" في نظام التشغيل Mac

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

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

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

Android Emulator

إعدادات Android Emulator

بالنسبة إلى أجهزة iPhone، يمكن استخدام أداة "محسِّن ربط الشبكة" لمحاكاة حالات الشبكة المتأثّرة (راجِع أعلاه).

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

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

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 في تحسين عرض المحتوى وتجنُّب الطلبات الموحّدة. يقدّم "جاك أرشيبالد" مزيدًا من التفاصيل حول معالجة بيانات غير صحيحة في تحسين سرعة تحميل الصفحة.

ملاحظات