تسريع الموقع الديناميكي عبر Azure CDN

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

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

يقدم كل من Azure CDN من Akamai و Azure CDN من Verizon تحسين DSA من خلال القائمة المحسنة أثناء إنشاء نقطة النهاية. يتم تقديم تسريع الموقع الديناميكي من Microsoft عبر خدمة Azure Front Door.

هام

بالنسبة إلى Azure CDN من ملفات تعريف Akamai ، يسمح لك بتغيير تحسين نقطة نهاية CDN بعد إنشائها.

بالنسبة إلى Azure CDN من ملفات تعريف Verizon ، لا يمكنك تغيير تحسين نقطة نهاية CDN بعد إنشائها.

تكوين نقطة نهاية CDN لتسريع تسليم الملفات الديناميكية

لتكوين نقطة نهاية CDN لتحسين تسليم الملفات الديناميكية، يمكنك إما استخدام مدخل Azure أو واجهات برمجة تطبيقات REST أو أي من مجموعات SDK الخاصة بالعميل للقيام بنفس الشيء برمجيا.

لتكوين نقطة نهاية CDN لتحسين DSA باستخدام مدخل Azure:

  1. في صفحة ملف تعريف CDN ، حدد نقطة النهاية.

    Add a new CDN endpoint

    يظهر جزء Add an endpoint.

  2. ضمن محسن ل، حدد تسريع الموقع الديناميكي.

    Create a new CDN endpoint with DSA

  3. بالنسبة لمسار التحقيق، أدخل مسارا صالحا إلى ملف.

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

  4. أدخل خيارات نقطة النهاية الأخرى المطلوبة (لمزيد من المعلومات، راجع إنشاء نقطة نهاية CDN جديدة)، ثم حدد إضافة.

    بعد إنشاء نقطة نهاية CDN، فإنه يطبق تحسينات DSA لكافة الملفات التي تطابق معايير معينة.

لتكوين نقطة نهاية موجودة ل DSA (Azure CDN من ملفات تعريف Akamai فقط):

  1. في صفحة ملف تعريف CDN ، حدد نقطة النهاية التي تريد تعديلها.

  2. من الجزء الأيمن، حدد التحسين.

    تظهر صفحة التحسين .

  3. ضمن محسن ل، حدد تسريع الموقع الديناميكي، ثم حدد حفظ.

ملاحظة

يتكبد DSA رسوما إضافية. لمزيد من المعلومات، راجع تسعير شبكة تسليم المحتوى.

تحسين DSA باستخدام Azure CDN

يعمل تسريع الموقع الديناميكي على Azure CDN على تسريع تسليم الأصول الديناميكية باستخدام التقنيات التالية:

تحسين المسار

يعد تحسين المسار أمرا مهما لأن الإنترنت مكان ديناميكي ، حيث تعمل حركة المرور والانقطاعات المؤقتة على تغيير طوبولوجيا الشبكة باستمرار. بروتوكول بوابة الحدود (BGP) هو بروتوكول توجيه الإنترنت ، ولكن قد تكون هناك طرق أسرع عبر خوادم نقطة التواجد الوسيطة (PoP).

يختار تحسين المسار المسار الأمثل إلى الأصل بحيث يمكن الوصول إلى الموقع باستمرار ويتم تسليم المحتوى الديناميكي للمستخدمين النهائيين عبر أسرع مسار ممكن وأكثرها موثوقية.

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

وبالمثل ، تستخدم شبكة Verizon مزيجا من Anycast DNS ، ودعم PoPs عالي السعة ، والفحوصات الصحية ، لتحديد أفضل البوابات لتوجيه البيانات بشكل أفضل من العميل إلى الأصل.

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

تحسينات TCP

بروتوكول التحكم في الإرسال (TCP) هو معيار مجموعة بروتوكولات الإنترنت المستخدمة لتقديم المعلومات بين التطبيقات على شبكة IP. بشكل افتراضي، يلزم تقديم العديد من الطلبات ذهابا وإيابا لإعداد اتصال TCP، بالإضافة إلى حدود لتجنب ازدحام الشبكة، مما يؤدي إلى عدم الكفاءة على نطاق واسع. يعالج Azure CDN من Akamai هذه المشكلة عن طريق التحسين في ثلاثة مجالات:

القضاء على البداية البطيئة ل TCP

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

يقوم كل من Azure CDN من Akamai و Azure CDN من ملفات تعريف Verizon بالقضاء على البداية البطيئة ل TCP بالخطوات الثلاث التالية:

  1. يتم استخدام مراقبة الصحة وعرض النطاق الترددي لقياس عرض النطاق الترددي للاتصالات بين خوادم PoP الطرفية.

  2. تتم مشاركة المقاييس بين خوادم PoP الطرفية بحيث يكون كل خادم على دراية بظروف الشبكة وسلامة الخادم الخاصة ب PoPs الأخرى من حوله. 

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

الاستفادة من الاتصالات المستمرة

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

كما ذكرنا سابقا ، هناك حاجة إلى العديد من طلبات المصافحة لإنشاء اتصال TCP. الاتصالات المستمرة، التي يتم تنفيذها بواسطة Keep-Alive رأس HTTP، تعيد استخدام اتصالات TCP الموجودة لطلبات HTTP متعددة لحفظ أوقات الرحلات ذهابا وإيابا وتسريع التسليم.

يرسل Azure CDN من Verizon أيضا حزم دورية للاحتفاظ بالحياة عبر اتصال TCP لمنع إغلاق اتصال مفتوح.

ضبط معلمات حزمة TCP

يقوم Azure CDN من Akamai بضبط المعلمات التي تحكم اتصالات الخادم إلى الخادم وتقليل مقدار الرحلات الطويلة ذهابا وإيابا المطلوبة لاسترداد المحتوى المضمن في الموقع باستخدام التقنيات التالية:

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

Object prefetch (Azure CDN from Akamai only)

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

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

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

ضغط الصور التكيفي (Azure CDN من Akamai فقط)

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

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

ضغط الصور التكيفي امتدادات الملفات
ضغط JPEG .jpg، .jpeg، .jpe، .jig، .jgig، .jgi

تخزين مؤقت

باستخدام DSA، يتم إيقاف تشغيل التخزين المؤقت افتراضيا على CDN، حتى عندما يتضمن Cache-Control الأصل أو Expires يرأس في الاستجابة. عادة ما يتم استخدام DSA للأصول الديناميكية التي لا ينبغي تخزينها مؤقتا لأنها فريدة لكل عميل. التخزين المؤقت يمكن أن يكسر هذا السلوك.

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

بالنسبة إلى Azure CDN Standard من Verizon وAzure CDN Standard من ملفات تعريف Akamai ، يمكنك تشغيل التخزين المؤقت لنقاط نهاية DSA محددة باستخدام قواعد التخزين المؤقت.

للوصول إلى قواعد التخزين المؤقت:

  1. من صفحة ملف تعريف CDN ، ضمن الإعدادات، حدد قواعد التخزين المؤقت

    CDN Caching rules button

    يتم فتح صفحة قواعد التخزين المؤقت .

  2. أنشئ قاعدة تخزين مؤقت عمومية أو مخصصة لتشغيل التخزين المؤقت لنقطة نهاية DSA.

بالنسبة إلى Azure CDN Premium من ملفات تعريف Verizon فقط، يمكنك تشغيل التخزين المؤقت لنقاط نهاية DSA محددة باستخدام محرك القواعد. تؤثر أي قواعد يتم إنشاؤها فقط على نقاط النهاية في ملف التعريف الخاص بك التي تم تحسينها ل DSA.

للوصول إلى محرك القواعد:

  1. من صفحة ملف تعريف CDN ، حدد إدارة

    CDN profile manage button

    يتم فتح مدخل إدارة CDN.

  2. من مدخل إدارة CDN، حدد ADN، ثم حدد محرك القواعد.

    Rules engine for DSA

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

على سبيل المثال، mydynamic.azureedge.net/index.html هي صفحة ديناميكية ويتم تحميلها من نقطة نهاية DSA.  تشير صفحة HTML إلى أصول ثابتة متعددة مثل مكتبات جافا سكريبت أو الصور التي يتم تحميلها من نقطة نهاية CDN الثابتة، مثل mystatic.azureedge.net/banner.jpg و mystatic.azureedge.net/scripts.js.