اختر صفحة

هل تتذكر تجاربك المبكرة في الدردشة مع أصدقائك على تطبيقات الشبكات الاجتماعية مثل Orkut (نعم ، تذكر ذلك؟) والشعور بالهوس بالقدرة على إرسال واستقبال الرسائل في الوقت الفعلي. بسرعة إلى الأمام حتى الآن ، حيث نستخدم تطبيقات مثل Gmail و Slack و WhatsApp و Shazam و Instagram وغيرها من التطبيقات التي لا تعد ولا تحصى ، دون أن نضرب أي عين. لقد شهدنا حقا صعود الويب في الوقت الفعلي في غضون سنوات فقط. أحد أكبر الأسباب التي جعلت ذلك ممكنا يرجع أساسا إلى إدخال بروتوكول WebSocket. دعونا نحاول شرح وفهم ماهية WebSockets وميزاتها وفوائدها وكيفية الضغط على تطبيقات الاختبار ومواقع الويب التي تستخدم WebSockets لفهم الأداء العام تحت الضغط ، وكذلك كيف يؤثر ذلك على تجربة المستخدم.

 

ما هي WebSockets؟

بحكم التعريف ، WebSocket هو بروتوكول اتصال كمبيوتر ثنائي الاتجاه عبر TCP واحد. يساعد WebSockets بشكل كبير على التعامل مع عمليات نقل البيانات على نطاق واسع بين العميل والخادم. تختلف WebSockets لأنها تعمل عن طريق إبقاء الاتصال بين العميل والخادم مفتوحا في جميع الأوقات. باستخدام هذه الطريقة ، يتمتع الخادم بالقدرة على إرسال المعلومات في أي وقت ، حتى عندما لا يتم البدء فيها من قبل العميل. لا يزال بإمكان العملاء تقديم طلبات HTTP المعتادة إلى الخادم ، بينما تفتح WebSockets وسيطا بين العميل والخادم للاتصال. تدعم خوادم الويب ، مثل Nginx و Apache و Windows Server بروتوكول WebSockets ، كما تفعل جميع المتصفحات الشائعة ، مثل Chrome و Edge و Internet Explorer و Firefox و Safari.

 

أين يتم استخدام WebSockets؟

WebSockets جيدة للمواقف التي تحتاج فيها إلى اتصالات في الوقت الفعلي تقريبا ، مثل السيناريوهات والتطبيقات التالية:

  • ألعاب متعددة اللاعبين عبر الإنترنت
  • تطبيقات الدردشة
  • إنترنت الأشياء
  • تطبيقات في الوقت الحقيقي
  • الدرجات/المؤشرات الرياضية

 

مزايا وفوائد WebSockets

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

 

عيوب WebSockets

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

 

تطبيقات اختبار الأداء التي تستخدم WebSockets

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

 

اختبار الأداء باستخدام LoadView باستخدام مسجل الويب EveryStep

يوفر مسجل الويب EveryStep خيار مسجل الشاشة أثناء التصفح ويساعدك على محاكاة التفاعلات من جانب العميل مع مواقع الويب والتطبيقات. وهو يدعم أكثر من 40 متصفحات سطح المكتب والجوال ، بالإضافة إلى الأطر والتقنيات التي تستخدم لإنشاء تطبيقات ويب ديناميكية ، مثل HTML5 و Java و Ruby و Rereact و Vue و Angular و Knockout ، على سبيل المثال لا الحصر. بشكل أساسي ، إذا تم عرضه في متصفح ، فيمكن استخدام مسجل الويب EveryStep لإنشاء برنامج نصي. يمكننا تسجيل كل خطوة من معاملاتنا على الويب ببساطة عن طريق التنقل عبر تطبيقنا كما يفعل المستخدم ثم إعادة تشغيل تلك البرامج النصية في متصفحات حقيقية. أخيرا ، يمكننا أخذ هذا البرنامج النصي واختبار الخطوات والسيناريوهات التي سجلناها للتو تحت الحمل للحصول على فكرة أفضل عن الأداء تحت أعباء العمل المختلفة.

دعونا نلقي نظرة على الخطوات والعمليات المستخدمة لتسجيل البرامج النصية باستخدام EveryStep Web Recorder ثم تنفيذ اختبار تحميل باستخدام LoadView.

افتح الصفحة الرئيسية لاختبار LoadView. سترى أنواعا متعددة من خيارات اختبار التحميل المتوفرة كما هو موضح في الصورة أدناه. بالنسبة لحالة الاستخدام الخاصة بنا ، سنقوم بتحديد خيار تطبيق الويب لبدء تسجيل رحلة المستخدم.

إنشاء تطبيق ويب جديد لاختبار التحميل

 

سنحصل على خيار لتسجيل برنامج نصي جديد. يرجى إدخال عنوان URL لموقع الويب ونوع المتصفح ونوع جهاز المستخدم للتطبيق الذي نريد تشغيل اختبار الإجهاد الخاص بنا وتسجيل حالة الاختبار الخاصة بنا. يرجى النقر فوق الزر “سجل الآن” بعد إضافة التفاصيل.

 

Websocket EveryStep

 

سيتيح لك النقر فوق الزر ” سجل الآن” خيار التفاعل مع موقع الويب ضمن الاختبار وتسجيل الخطوات التي نريد محاكاتها. سيكون لدينا خيار إيقاف التسجيل بمجرد اكتمال تدفق المستخدم.

 

Websocket سجل المتصفح

 

بعد تسجيل البرنامج النصي بنجاح ، يمكننا مراجعة سيناريو الاختبار الخاص بنا باستخدام. حدد زر التشغيل الآن أو يمكننا المضي قدما للاختبار بالنقر فوق الزر متابعة .

 

توقف تسجيل EveryStep

 

سيؤدي النقر فوق ” متابعة ” إلى إعادة توجيهنا إلى نافذة ” إنشاء اختبار” مع جاهزية البرنامج النصي للإجراءات المحاكاة. يمكننا تسمية اختبارنا على هذا الفيديو وبعد ذلك سنحتاج إلى النقر فوق الزر إنشاء جهاز .

 

نافذة سيناريو اختبار Websocket

 

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

سيناريو اختبار Websocket

 

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

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

Websockets متوسط وقت الاستجابة

 

متوسط عدد المستخدمين متوسط وقت الاستجابة

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

 

Websockets عدد المستخدمين الظاهريين

ملخص: تحميل التطبيقات المستندة إلى WebSocket

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

جرب مسجل الويب EveryStep الآن وشاهد مدى سهولة بدء برمجة سيناريوهات المستخدم المعقدة. اشترك في الإصدار التجريبي المجاني من LoadView وابدأ في تشغيل اختبارات التحميل للتطبيقات المستندة إلى WebSocket. ستحصل على 20 دولارا في أرصدة اختبار الحمل للبدء. أو قم بجدولة العرض التوضيحي الفردي الخاص بك مع أحد مهندسي الأداء لدينا.