إدارة الذاكرة

نهج الإخلاء

اختر نهج استرداد تناسب تطبيقك. النهج الافتراضي لـ Azure Cache for Redis هو volatile-lru، ما يعني أن المفاتيح التي تم تعيين قيمة TTL لها أمر مثل EXPIRE هي فقط المؤهلة للاسترداد. إذا لم يكن لأي مفاتيح قيمة TTL، فلن يقوم النظام باسترداد أي مفاتيح. إذا كنت تريد أن يسمح النظام باسترداد أي مفتاح إذا كان تحت ضغط الذاكرة، فقد تحتاج إلى النظر في النهج allkeys-lru.

انتهاء صلاحية المفاتيح

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

تقليل تجزئة الذاكرة

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

مراقبة استخدام الذاكرة

أضف مراقبة على استخدام الذاكرة للتأكد من عدم نفاد الذاكرة وأن لديك فرصة لتوسيع نطاق ذاكرة التخزين المؤقت قبل رؤية المشكلات.

قم بتكوين إعداد maxmemory-reserved

تكوين إعداد maxmemory-reserved لتحسين استجابة النظام:

  • يعد إعداد الحجز الكافي مهماً بشكل خاص لأحمال العمل الثقيلة للكتابة أو إذا كنت تخزن قيماً تبلغ 100 كيلوبايت أو أكثر في ذاكرة التخزين المؤقت. بشكل افتراضي عند إنشاء ذاكرة تخزين مؤقت، يتم حجز ما يقرب من 10% من الذاكرة المتوفرة لـ maxmemory-reserved. 10٪ أخرى محجوزة لـ maxfragmentationmemory-reserved. يمكنك زيادة المبلغ المحجوز إذا كانت لديك أحمال كتابة ثقيلة.

  • يقوم الإعداد maxmemory-reserved بتكوين مقدار الذاكرة، بالميجابايت لكل مثيل في نظام المجموعة، والذي تم حجزه للعمليات التي ليست في ذاكرة التخزين المؤقت، مثل النسخ المتماثل أثناء تجاوز الفشل. يتيح لك تعيين هذه القيمة الحصول على تجربة خادم Redis أكثر اتساقاً عند اختلاف التحميل. يجب تعيين هذه القيمة أعلى لأحمال العمل التي تكتب كميات كبيرة من البيانات. عندما تكون الذاكرة محجوزة لمثل هذه العمليات، فإنها لا تتوفر لتخزين البيانات المخزنة مؤقتًا. النطاق المسموح به لـ maxmemory-reserved هو 10% - 60% من maxmemory. إذا حاولت تعيين هذه القيم على أقل من 10٪ أو أعلى من 60٪، تتم إعادة تقييمها وتعيينها إلى 10٪ كحد أدنى و60٪ كحد أقصى. يتم عرض القيم بالميغابايت.

  • يقوم الإعداد maxfragmentationmemory-reserved بتكوين حجم الذاكرة، بالميجابايت لكل مثيل في نظام المجموعة، المحجوز لاستيعاب تجزئة الذاكرة. عند تعيين هذه القيمة، تكون تجربة خادم Redis أكثر اتساقاً عندما تكون ذاكرة التخزين المؤقت ممتلئة أو قريبة من الامتلاء وتكون نسبة التجزئة عالية. عندما تكون الذاكرة محجوزة لمثل هذه العمليات، فإنها لا تتوفر لتخزين البيانات المخزنة مؤقتًا. النطاق المسموح به لـ maxfragmentationmemory-reserved هو 10% - 60% من maxmemory. إذا حاولت تعيين هذه القيم على أقل من 10٪ أو أعلى من 60٪، تتم إعادة تقييمها وتعيينها إلى 10٪ كحد أدنى و60٪ كحد أقصى. يتم عرض القيم بالميغابايت.

  • أحد الأشياء التي يجب مراعاتها عند اختيار قيمة حجز ذاكرة جديدة (maxmemory-reserved أو maxfragmentationmemory-reserved) هو كيفية تأثير هذا التغيير على ذاكرة تخزين مؤقت بها كميات كبيرة من البيانات قيد التشغيل بالفعل. على سبيل المثال، إذا كانت لديك ذاكرة تخزين مؤقت سعة 53 غيغابايت، مع 49 غيغابايت، من البيانات ثم قمت بتغيير قيمة الحجز إلى 8 غيغابايت،، فإن الحد الأقصى للذاكرة المتاحة للنظام سينخفض إلى 45 غيغابايت،. إذا كانت قيمك الحالية used_memory أو قيمك used_memory_rss أعلى من الحد الجديد البالغ 45 غيغابايت، يجب على النظام استرداد البيانات حتى تصل used_memory إلى used_memory_rss 45 غيغابايت. قد يزيد الاسترداد من تحميل الخادم وتجزئة الذاكرة. لمزيد من المعلومات حول مقاييس ذاكرة التخزين المؤقت مثل used_memory و used_memory_rss، راجع إنشاء المقاييس الخاصة بك.

إشعار

عند تغيير حجم نطاق ذاكرة التخزين المؤقت لأعلى أو لأسفل، يتم تغيير حجم كل من الإعدادات maxmemory-reserved و maxfragmentationmemory-reserved تلقائيًا بما يتناسب مع تغيير حجم ذاكرة التخزين المؤقت. على سبيلِ المثال، في حال عيّن maxmemory-reserved إلى 3 غيغابايت على ذاكرة التخزين المؤقت 6 غيغابايت، وقمت بالتحجيم إلى ذاكرة التخزين المؤقت 12 غيغابايت، يتم تحديث الإعدادات تلقائيًا إلى 6 غيغابايت أثناء التحجيم. عند تقليص الحجم، يحدثُ العكس. عند توسيع نطاق ذاكرة التخزين المؤقت لأعلى أو لأسفل برمجيا، باستخدام PowerShell أو CLI أو Rest API، يتم تجاهل أي maxmemory-reserved منها أو maxfragmentationmemory-reserved كجزء من طلب التحديث. يُكرّم تغيير التحجيم الخاص بك فقط. بإمكانك تحديث إعدادات الذاكرة هذه بعد اكتمال عملية التحجيم.

الخطوات التالية