إدارة تحميل الخادم لذاكرة التخزين المؤقت Azure لـ Redis

أحجام القيمة

يحدد تصميم تطبيق العميل الخاص بك ما إذا كان يجب تخزين العديد من القيم الصغيرة أو عدد أقل من القيم الأكبر. من منظور خادم Redis، تعطي القيم الأصغر أداءً أفضل. نوصي بالحفاظ على حجم القيمة أصغر من 100 كيلوبايت.

إذا كان تصميمك يتطلب منك تخزين قيم أكبر في Azure Cache لـ Redis، فسيكون تحميل الخادم أعلى. في هذه الحالة، قد تحتاج إلى استخدام طبقة ذاكرة تخزين مؤقت أعلى لضمان عدم تقييد استخدام وحدة المعالجة المركزية لمعدل النقل.

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

تزيد القيم الأكبر أيضًا من فرص تجزئة الذاكرة، لذا تأكد من اتباع الإرشادات الواردة في تكوين إعداد maxmemory-reserved.

تجنب ارتفاع اتصال العميل

يعد إنشاء الاتصالات وإغلاقها عملية مكلفة لخادم Redis. إذا قام تطبيق العميل الخاص بك بإنشاء أو إغلاق عدد كبير جدًا من الاتصالات في فترة زمنية قصيرة، فقد يؤدي ذلك إلى عبء على خادم Redis.

إذا كنت تقوم بإنشاء مثيل للعديد من مثيلات العميل للاتصال بـ Redis في وقت واحد، ففكر في إنشاء إنشاءات اتصال جديدة بشكل مذهل لتجنب الارتفاع الحاد في عدد العملاء المتصلين.

ضغط الذاكرة

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

تجنب الأوامر طويلة المدى

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

مراقبة تحميل الخادم

أضف المراقبة على حمل الخادم لضمان حصولك على إشعارات عند حدوث تحميل كبير على الخادم. يمكن أن تساعدك المراقبة على فهم قيود التطبيق الخاص بك. بعد ذلك، يمكنك العمل بشكل استباقي للتخفيف من المشكلات. نوصي بمحاولة إبقاء تحميل الخادم أقل من 80% لتجنب تأثيرات الأداء السلبية. يمكن أن يؤدي التحميل المستمر للخادم أكثر من 80٪ إلى تجاوز الفشل غير المخطط له. حاليًا، يعرض Azure Cache For Redis قياسين في نتائج التحليلات ضمن المراقبة في قائمة الموارد على يمين المدخل: وحدة المعالجة المركزية وتحميل الخادم. يعد فهم ما يتم قياسه بواسطة كل مقياس أمرًا مهمًا عند مراقبة حمل الخادم.

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

يمثل مقياس تحميل الخادم الحمل على خادم Redis وحده. نوصي بمراقبة مقياس تحميل الخادم بدلاً من وحدة المعالجة المركزية.

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

التخطيط لصيانة الخادم

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

اختبار لزيادة تحميل الخادم بعد تجاوز الفشل

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

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