خطأ في ذاكرة التخزين المؤقت وضرب ذاكرة التخزين المؤقت: متى تحدث (وكيفية زيادة نسبة النقر إلى ذاكرة التخزين المؤقت)
نشرت: 2022-05-04إن تحسين أداء موقع الويب الخاص بك دون وجود سياسة تخزين مؤقت قوية يشبه محاولة بناء منزل على الرمال المتحركة.
يمكنك استخدام أفضل المواد والأدوات ، ولكن عندما لا تكون مؤسستك صلبة ، ستشعر دائمًا أن هناك شيئًا يعيق تقدمك.
سياسة التخزين المؤقت الخاصة بك هي العمود الفقري لأداء الويب الاستثنائي لموقعك على الويب. إذا كان لديك نظام تخزين مؤقت مناسب ، فيمكنك تحسين سرعة موقعك بشكل كبير.
على العكس من ذلك ، بدون إعداد تخزين مؤقت جيد للعمل ، ستؤدي طلبات الزوار إلى فقد ذاكرة التخزين المؤقت ، مما يؤدي بدوره إلى إبطاء وقت تحميل صفحتك.
يعد خطأ ذاكرة التخزين المؤقت أحد الموضوعات التي سيتم تناولها في الأسطر التالية جنبًا إلى جنب مع:
- مقدمة موجزة للتخزين المؤقت ؛
- ما هو Cache Miss؟
- ما هي ميزة Cache Hit؟
- ما هي نسبة النقر إلى ذاكرة التخزين المؤقت وكيفية حسابها؟
- ما هي "نسبة عدد مرات الوصول إلى ذاكرة التخزين المؤقت" الجيدة؟
- كيفية زيادة نسبة النقر إلى ذاكرة التخزين المؤقت؟
- NitroPack - أسهل طريقة لتحقيق نسبة ممتازة إلى ذاكرة التخزين المؤقت.
هيا نبدأ!
مقدمة موجزة للتخزين المؤقت
قبل الخوض في عالم نتائج وفقدان ذاكرة التخزين المؤقت ، من الضروري فهم كيفية عمل التخزين المؤقت والغرض الذي يخدمه ولماذا يعتبر أفضل استراتيجية لتحسين السرعة.
لفهم التخزين المؤقت ، نحتاج إلى التراجع واتباع العملية بأكملها التي تشارك خلف الكواليس عندما يطلب زائر موقعك.
يتكون موقع الويب الخاص بك من مستندات HTML وملفات JavaScript و CSS وصور وما إلى ذلك ، يتم تخزينها جميعًا على خادمك الأصلي. عندما يريد شخص ما زيارة موقع الويب الخاص بك ، يرسل متصفحه طلبًا إلى خادمك الأصلي ، والذي بدوره يرسل ردًا مع جميع الملفات الضرورية.

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

هذا هو المكان الذي يأتي فيه التخزين المؤقت.
باختصار ، التخزين المؤقت هو عملية حفظ نسخة من بيانات موقعك (HTML ، CSS ، JS ، الصور ، إلخ) في موقع مختلف يسمى ذاكرة التخزين المؤقت على الويب.
تلعب ذاكرة التخزين المؤقت على الويب دور الوسيط بين المستخدمين وأصلك. بهذه الطريقة ، يتم تقديم طلباتهم من ذاكرة التخزين المؤقت ولا يتم استردادها من الخادم الخاص بك.

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

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

بخلاف التخزين المؤقت للمتصفح ، لا يقتصر التخزين المؤقت للخادم الوكيل على كل جهاز ، ويمكنه تقديم المحتوى في نفس الوقت إلى عدة مستخدمين.
هذا هو جوهر التخزين المؤقت. إنه موضوع دقيق ، وهناك الكثير الذي يجب الكشف عنه - مزايا وعيوب أنواع التخزين المؤقت المختلفة ، وكيفية إعداد قواعد التخزين المؤقت ، والمزيد.
لكن هذا ليس محور هذا المقال.
إذا كنت ترغب في التعمق أكثر في الموضوع ، يمكنك التحقق من مقالتنا - التخزين المؤقت على الويب 101: دليل المبتدئين إلى تخزين HTTP المؤقت (أمثلة ونصائح واستراتيجيات)
أو شاهد فيديو يوتيوب الخاص بنا:
في الوقت الحالي ، من المهم أن تتذكر أنه إذا لم يتم العثور على البيانات المطلوبة في ذاكرة التخزين المؤقت على الويب ، فهذا هو الوقت الذي تبدأ فيه التأخيرات والمشكلات في الحدوث. هذا يقودنا إلى فقدان ذاكرة التخزين المؤقت.
ما هو Cache Miss؟
يحدث خطأ في ذاكرة التخزين المؤقت عندما يطلب نظام أو تطبيق أو مستعرض استرداد البيانات من ذاكرة التخزين المؤقت ، ولكن لا يمكن العثور على هذه البيانات المحددة حاليًا في ذاكرة التخزين المؤقت.
عند حدوث خطأ في ذاكرة التخزين المؤقت ، يتم إعادة توجيه الطلب إلى الخادم الأصلي.
بمجرد استرداد البيانات من الأصل ، يتم نسخها وتخزينها في ذاكرة التخزين المؤقت تحسباً لطلبات مستقبلية مماثلة لتلك البيانات نفسها.
هناك أسباب متعددة لحدوث خطأ في ذاكرة التخزين المؤقت.
على سبيل المثال ، لم يتم تخزين البيانات المحددة مؤقتًا في المقام الأول.
لنفترض أن لديك موقعًا للتجارة الإلكترونية وأضفت للتو صفحة منتج جديد. لم تتم إضافة جميع الصور وملفات HTML و CSS وجافا سكريبت إلى ذاكرة التخزين المؤقت حيث لم يطلبها أحد من قبل. هذا يعني أنه سيتعين على زائرك الأول إرسال طلب إلى أصلك من أجل تحميل الصفحة. بعد الطلب الأول ، سيتم نقل البيانات إلى ذاكرة التخزين المؤقت وتقديمها منها.
الاحتمال الآخر لفقدان ذاكرة التخزين المؤقت هو أن البيانات المخزنة مؤقتًا قد تمت إزالتها في مرحلة ما.
مرة أخرى ، هناك العديد من الأشياء التي ربما أدت إلى هذا السيناريو - كانت هناك حاجة إلى مساحة أكبر ، أو طلب أحد التطبيقات الإزالة ، أو انتهت صلاحية سياسة Time to Live على البيانات.
سنتطرق أكثر إلى وقت العيش لاحقًا في المقالة.
مهما كان السبب ، فإن الحقيقة هي أن كل خطأ في ذاكرة التخزين المؤقت يؤدي إلى وقت استجابة أطول ، وأوقات تحميل بطيئة ، وتجربة مستخدم سيئة ، وزوار غير راضين.
ومع ذلك ، لا أريد أن أترك لك انطباعًا بأنك تحتاج إلى تحقيق ذاكرة تخزين مؤقت تصل إلى 100٪ من الوقت. هذا ليس واقعيا.
علاوة على ذلك ، هناك بعض الحالات التي تكون فيها أخطاء ذاكرة التخزين المؤقت ضرورية ، حيث قد تحتاج إلى التأكد من أن المحتوى الذي تخدمه محدث دائمًا.
على سبيل المثال ، يمكن لموقع إخباري مثل bbc.com تغيير محتوى صفحته الرئيسية عدة مرات على مدار اليوم حيث يجب الإبلاغ عن الأخبار العاجلة. في هذه الحالة ، تعني نتيجة ذاكرة التخزين المؤقت أن القراء لم يروا أحدث إصدار من موقع الويب الخاص بهم ، وعلى التوالي - فقد فاتتهم آخر الأخبار.

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

ومع ذلك ، قد لا تكون هناك حاجة إلى ذلك لأن معظم موفري CDN يحسبون ذلك نيابةً عنك.
تعرض لوحة معلومات NitroPack هذه المعلومات أيضًا:

ما هي نسبة عدد مرات الدخول إلى ذاكرة التخزين المؤقت الجيدة؟
كقاعدة عامة ، تعتبر نسبة عدد مرات الدخول إلى ذاكرة التخزين المؤقت 80٪ وما فوق نتيجة جيدة لأنها تعني أن معظم الطلبات يتم تقديمها من ذاكرة التخزين المؤقت.
يشير أي شيء أقل من 80٪ على مواقع الويب الثابتة إلى سياسة تخزين مؤقت غير فعالة.
وفقًا لـ Cloudflare ، أحد أكبر مزودي خدمة CDN في العالم:
تبلغ نسبة عدد مرات الوصول إلى ذاكرة التخزين المؤقت العالمية لـ NitroPack 90٪. وما يقرب من 70٪ من جميع مستخدمي NitroPack يواجهون نسبة وصول ذاكرة التخزين المؤقت إلى 80٪ أو أعلى.
كيفية زيادة نسبة الدخول إلى ذاكرة التخزين المؤقت؟
يمكنك اتخاذ خطوات محددة لتقليل عدد مرات فقدان ذاكرة التخزين المؤقت وبالتالي زيادة نسبة عدد مرات الدخول إلى ذاكرة التخزين المؤقت.
1. قم بإعداد قواعد التخزين المؤقت بناءً على احتياجات موقع الويب الخاص بك
يسمح لك رأس التحكم في ذاكرة التخزين المؤقت بتعيين عدد لا يحصى من قواعد التخزين المؤقت المختلفة من أجل تحسين عرض المحتوى الخاص بك.
تتضمن بعض القواعد ما يلي:
- يخبر no-store ذاكرات الويب المؤقتة بعدم تخزين أي إصدار من المورد تحت أي ظرف من الظروف ؛
- يخبر no-cache ذاكرة التخزين المؤقت للويب أنه يجب عليها التحقق من صحة المحتوى المخزن مؤقتًا مع الخادم الأصلي قبل تقديمه للمستخدمين ؛
- يعيّن max-age الحد الأقصى لمقدار الوقت (بالثواني) الذي يمكن أن تحتفظ فيه ذاكرة التخزين المؤقت بالمورد المحفوظ قبل إعادة تنزيله أو إعادة التحقق منه باستخدام الخادم الأصلي. بعد ذلك ، يتم تمييز المحتوى على أنه قديم ؛
- يقوم s-maxage بنفس الشيء مثل max-age ولكن فقط لذاكرة التخزين المؤقت للوكيل ؛
- يخبر Private ذاكرة التخزين المؤقت للويب أن ذاكرات التخزين المؤقت الخاصة فقط يمكنها تخزين الاستجابة ؛
- يصنف الجمهور الاستجابة على أنها عامة. يمكن لأي مخابئ وسيطة تخزين الردود المميزة بهذه التعليمات ؛

يجب عليك تعيين وقت للعيش (المدة التي ستحتفظ فيها ذاكرة التخزين المؤقت ببياناتك قبل أن تسترد المعلومات المحدثة من الأصل) التي تناسب محتواك على أفضل وجه.
على سبيل المثال ، إذا تغير أحد الأصول كل شهرين تقريبًا ، فقد يكون من المناسب استخدام عنوان أقصى عمر يبلغ 50 يومًا. ومع ذلك ، إذا تم تغيير الأصل على أساس يومي ، فقد ترغب في استخدام رأس no-cache .
يمكنك العثور على مزيد من المعلومات حول رؤوس التحكم في ذاكرة التخزين المؤقت ، وحداثة ذاكرة التخزين المؤقت ، والتحقق من الصحة في فيديو YouTube الخاص بنا:
2. تجاهل معلمات UTM
يؤدي تشغيل حملات إعلانية متعددة (على سبيل المثال ، إعلانات Facebook ، وإعلانات Google ، وما إلى ذلك) إلى إنشاء عناوين URL مختلفة بمعلمات UTM محددة.
نتيجة لذلك ، لديك صفحة واحدة بها أشكال متعددة (معلمات UTM مختلفة) تحتاج إلى التحسين.

هذه مشكلة حيث يتم اعتبار كل اختلاف في عنوان URL كائنًا فريدًا ، وسيتم توجيه كل طلب إلى الخادم الأصلي.
وفقًا لذلك ، سيتم تصنيف كل طلب على أنه مفقود في ذاكرة التخزين المؤقت ، على الرغم من أن المحتوى المطلوب كان متاحًا في ذاكرة التخزين المؤقت على الويب.
يؤدي هذا إلى انخفاض نسبة مرات الدخول إلى ذاكرة التخزين المؤقت بشكل غير ضروري.
NitroPack - أسهل طريقة لتحقيق نسبة إصابة ممتازة في ذاكرة التخزين المؤقت
بعد كل ما قمنا بتغطيته ، قد تبدو العملية الكاملة لتحقيق نسبة عالية من ذاكرة التخزين المؤقت مربكة بعض الشيء.
والخبر السار هو أنه إذا كنت تعمل مع مزود CDN ، فربما يتم الاهتمام بالفعل بمعظم الأشياء التي ذكرتها ، مثل رؤوس التحكم في ذاكرة التخزين المؤقت.
لكل شيء آخر ، يمكنك استخدام مكون إضافي للتخزين المؤقت.
على سبيل المثال ، يأتي NitroPack مزودًا بميزات جاهزة تضمن للمستخدمين نسبة عالية من ذاكرة التخزين المؤقت. هذا يشمل:
- سيحاكي Cache Warmup الزيارات العضوية إلى موقع الويب الخاص بك ، مما يؤدي تلقائيًا إلى إعداد NitroPack لإصدارات محسّنة (مخبأة) من موقع الويب الخاص بك لأجهزة سطح المكتب والأجهزة المحمولة.
- يميز Cache Invalidation المحتوى المخزن مؤقتًا بأنه "قديم" ولكنه يستمر في تقديمه حتى يتوفر المحتوى المحسن حديثًا. نتيجة لذلك ، يرى زوار موقعك دائمًا محتوى محسنًا ، على الرغم من أنه قد يكون قديمًا لفترة قصيرة.
- CDN مدمج ، مما يلغي الحاجة إلى مزامنة CDN الخاص بك مع المكون الإضافي للتخزين المؤقت الذي تختاره. غالبًا ما يستغرق ذلك وقتًا طويلاً وغير مريح وقد يتسبب في حدوث مشكلات غير متوقعة.
- خيار المعلمة المتجاهلة الذي يسمح لـ NitroPack بتجاهل بعض معلمات UTM (وغيرها) شائعة الاستخدام بشكل افتراضي بحيث لا داعي للقلق عند تشغيل حملاتك التسويقية.

لكن ليس عليك أن تأخذ كلامي على محمل الجد. اختبر NitroPack مجانًا ولاحظ تأثيره بنفسك.
