الطريقة التي اعتمدتها Google لتحسين أداء الإعلانات باستخدام ميزة "القديمة أثناء إعادة التحقق"

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

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

%0.5

تحسين الأرباح للناشرين

زيادة بنسبة %2

زيادة في عمليات تحميل النصوص البرمجية للإعلانات المبكّرة

المصدر: بيانات Google الداخلية، من حزيران (يونيو) إلى تموز (يوليو) 2019.

الخلفية

علامة "ناشر Google" هي النص البرمجي لوضع العلامات على الإعلانات في "مدير إعلانات Google"، والذي يطلب الإعلانات الصورية على الويب ويعرضها. ومن خلال تنفيذ رأس HTTP بسيط من نوع stale-while-revalidate لبرنامج GPT، تمكّن فريق GPT من تحسين سرعة إعلانات Google الصورية وأدائها لشركائها من الناشرين. يمكن تطبيق هذا الأسلوب نفسه على أي سيناريو آخر يكون فيه تحميل النصوص البرمجية بأسرع وقت ممكن أكثر أهمية من تحميل أحدث رمز.

المشكلة

يتم نشر جدول تقسيم المعرّف الفريد العمومي (GPT) كنص برمجي لتمهيد التمهيد gpt.js، وهو يتم منحه فترة قصيرة (TTL) تبلغ 15 دقيقة. وتتيح مدة البقاء القصيرة هذه تحديث النص البرمجي أو التراجع عنه بسرعة. بعد التحميل، يطلب gpt.js نصوصًا برمجية إضافية للتنفيذ ويحمّلها، والتي لها مدة بقاء أطول.

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

الحل

يتم استخدام السمة stale-while-revalidate بواسطة العنوان Cache-Control وتحدّد فترة زمنية إضافية يمكن خلالها لذاكرة التخزين المؤقت استخدام مادة عرض قديمة، بينما تتم إعادة التحقّق من مادة العرض بشكل غير متزامن. يساعد ذلك المطوّرين في تحقيق التوازن بين تحميل المحتوى المُخزَّن مؤقتًا على الفور، الحداثة: ضمان استخدام التحديثات على المحتوى المُخزَّن مؤقتًا في المستقبل.

دراسة حالة حول الإعلانات الصورية على "شبكة Google الإعلانية"

أضاف فريق GPT عنوان Cache-Control هذا في استجابة HTTP gpt.js في عام 2016، استعدادًا للمتصفحات التي تنفّذ stale-while-revalidate:

cache-control: private, max-age=900, stale-while-revalidate=3600

يعني هذا الإعداد أنّه في حال طلب gpt.js خلال فترة تتراوح بين 15 و60 دقيقة بعد القيمة المخزَّنة مؤقتًا السابقة، سيتم استخدام القيمة المخزّنة مؤقتًا لتنفيذ الطلب حتى إذا كان قديمًا. وفي الوقت نفسه، سيتم تقديم طلب لإعادة التحقّق في الخلفية لتعبئة ذاكرة التخزين المؤقت بقيمة جديدة لاستخدامها في المستقبل.

طرح Chrome stale-while-revalidate في الإصدار 75 إلى 99% من جميع الزيارات، مع إيقاف الميزة مؤقتًا في 1% من الزيارات لقياس تأثيرها. سجَّل فريق GPT مقاييس من %1 (المجموعة التجريبية) بالإضافة إلى عينة بنسبة 1% من عدد الزيارات مع تفعيل الميزة (مجموعة التحكّم)، لاختبار فعالية stale-while-revalidate لنصوص الإعلانات البرمجية. وعلى مدار أسبوعين من المقاييس المسجلة من عينة بحجم 5.2 مليار مرة ظهور لإعلانات Google الصورية، لاحظت مجموعة التحكم ما يلي:

  • زيادة بنسبة 0.3% في عدد مرات ظهور الإعلانات
  • زيادة في الأرباح بنسبة 0.5%.
  • زيادة بنسبة% 2 في عمليات التحميل المبكر للنص البرمجي للإعلان (أقل من 500 ملي ثانية من بداية تحميل الصفحة)
  • زيادة بنسبة% 1.1 في عمليات تحميل النصوص البرمجية الناجحة للإعلان بشكل عام
التغيير في النقاط المئوية في عدد عمليات تحميل النص البرمجي للإعلان مقابل الوقت من بدء تحميل الصفحة إلى تحميل نص الإعلان (بالمللي ثانية)
المصدر: بيانات Google الداخلية، من حزيران (يونيو) إلى تموز (يوليو) 2019.

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

تنفيذ عملية إعادة التحقّق القديمة على موقعك الإلكتروني

لاحظ فريق GPT أن إجراء تغيير بسيط نسبيًا على عناوين HTTP باستخدام stale-while-revalidate يمكن أن يحسّن السرعة ويعزّز مقاييس النشاط التجاري. يمكنك مراجعة المشاركة إبقاء العناصر محدّثة من خلال إعادة التحقّق من صحتها للاطّلاع على مزيد من المعلومات عن تنفيذ stale-while-revalidate على موقعك الإلكتروني.

صورة من Kahica على موقع Unقلاش