ذاكرة التخزين المؤقت
قد تكون استعادة الإعلامات الخاصة بالوحدات النمطية للعرض أمرًا مكلفًا في نظام لديه مئات الآلاف من الإعلامات، خاصة على مستوى "لوحة الإعلامات"، التي تمر عبر جميع المقررات الدراسية المتوفرة. للمساعدة على تخفيف عبء تشغيل هذا الاستعلام، يتضمن نظام الإعلامات ذاكرة تخزين مؤقتة لكل مستخدم ولكل جلسة عمل.
- تقوم الذاكرة المؤقتة بتخزين نتائج استعلام الإعلام الخاصة بمستخدم وجلسة عمل وسياق محدد. وهذا يعني أن النظام يحتفظ بذاكرات تخزين مؤقتة منفصلة لكل مستخدم ولكل مقرر دراسي يقوم هذا المستخدم بتسجيل الدخول إليه، وكذلك على مستوى "لوحة الإعلامات" العمومية.
- يمكن للمستخدم تجديد ذاكرة التخزين المؤقت يدويًا. يؤدي إجراء التجديد إلى مسح ذاكرة التخزين المؤقت لجميع السياقات الخاصة بجلسة عمل محددة.
- لن يتم تحديث ذاكرة التخزين المؤقتة بوصول إعلامات جديدة. سيكون على المستخدم التجديد يدويًا لرؤيتها أو انتظار انتهاء مهلة ذاكرة التخزين المؤقت. راجع الجدول الموجود أدناه لمعرفة القيم الافتراضية لانتهاء المهلة.
- ستستجيب ذاكرة التخزين المؤقتة لعمليات الحذف اليدوي للإعلامات. لذا، إذا قام المستخدم بحذف إعلام من طريقة عرض محددة، سيتم الحذف أيضًا من ذاكرة التخزين المؤقت في جميع السياقات.
يتم تكوين ذاكرة التخزين المؤقت باستخدام الخصائص الموجودة في ملف التكوين bb-config.properties.
خاصية | المفتاح | القيمة الافتراضية |
---|---|---|
الحد الأقصى لعدد العناصر | bbconfig.cache.nautilusCache.elements | 500 ثانية |
مدة البقاء | bbconfig.cache.nautilusCache.timetolive | 600 ثانية |
وقت الخمول | bbconfig.cache.nautilusCache.timetoidle | 600 ثانية |
أبدي | bbconfig.cache.nautilusCache.eternal | لا |
إذا كان الأداء المقترن بعرض الوحدات النمطية يمثل مشكلة، يمكن للمسؤولين تعديل هذه الإعدادات لزيادة فترة تواجد الإعلامات المخزنة مؤقتًا. والمشكلة هنا هي أنه مع زيادة فترة تواجد ذاكرة التخزين المؤقت، يتم عرض المزيد من الإعلامات القديمة.
لا تؤثر إعدادات ذاكرة التخزين المؤقت على توزيع الإعلام.
تحديد حجم الإعلامات
قد ينمو مخزن الإعلامات بدرجة كبيرة. يتضمن هذا القسم الاستراتيجيات الخاصة بتجنب هذا الأمر.
تعطيل الإعلامات التي لا توجد حاجة لها
بشكل افتراضي، يتم توفير النظام مع تمكين جميع الإعلامات، وهذا يعني أنه سيتم إنشاء كل إعلام يمكن إنشائه لجميع الأحداث المعتمدة. واعتمادًا على حجم جامعتك والطرق المتبعة لإعداد المقررات الدراسية في بداية الفصل الدراسي، فقد يؤدي هذا إلى وجود جداول ذات أحجام كبيرة للغاية تقترن بتدهور في الأداء.
يعتبر إيقاف تشغيل جميع الإعلامات التي لا تحتاج إليها من الأفكار الجيدة. لتنفيذ هذا الأمر، انتقل إلى كل من صفحة إعدادات المقرر الدراسي => إعدادات الإعلام الافتراضية وإعدادات منتدى المجموعة => إعدادات الإعلام الافتراضية وتعيين هذه الإعلامات إلى الإيقاف دائمًا لجميع الموزعين المتوفرين.
والبديل هو إيقاف تشغيل بعض الإعلامات المحددة أثناء فترات الازدحام. على سبيل المثال قم بإيقاف تشغيل إعلامات عنصر المحتوى المتاح أثناء إكمال قوالب المقرر الدراسي حيث أنها قد تكون مسؤولة عن التحميل المجمع للإعلامات أثناء هذه الفترة.
تقليل المدة الزمنية للإعلان
تقوم الإعلامات دورياً بحذف الإعلامات التي تواجدن لفترة تجاوزت عدد محدد من الأيام. ويعتبر الإعداد الافتراضي هو 120 يومًا، وهو تقريبًا عدد أيام الفصل الدراسي. ويمكنك التحكم في مدة بقاء هذه الإعلامات عن طريق تحديث الفترة الزمنية تنظيف الإعلامات. لإزالة الإعلامات من النظام بشكل أسرع، قم بتقليل هذا الإعداد. ولمعرفة المزيد، راجع تعيين خيارات الإعلامات.
استخدم هذا الإعداد بحذر. حيث لا يمكن استرداد الإعلامات المحذوفة أو إعادة إصدارها بسهولة.
المهام الخلفية للإعلامات
يعتمد نظام رسائل الإعلام على مهمتين، يتم تعريف كل منها في ملف التعريف bb-tasks.xml.
اسم المهمة | داخلية (دقائق) | الغرض |
---|---|---|
NotificationRemoveStaleDataTask | 5 | تتضمن هذه المهمة على وظائف متنوعة:
|
DistributionSendNotificationTask | 60 | إرسال الإعلامات غير المعالجة إلى جميع الموزعين المعتمدين. |
NotificationRemoveStaleDataTask
يمكن تعيين الفترة الزمنية للإعلامات التي تحدث عندها عملية التنظيف بواسطة "المسؤولين" على الصفحة إعدادات الإعلامات العامة.
سيتم تحويل جميع الإعلامات المستحقة إلى أحداث متأخرة عند مرور تاريخ الاستحقاق الخاص بها. ويشتمل هذا على ما يلي: الواجب المستحق، والاختبار المستحق، وعنصر قابل للتقدير مستحق، واستطلاع مستحق.
ويتم تنفيذ الوظيفة الأخيرة لهذه المهمة وهي حذف بيانات المستلم التالفة، مرة واحدة يوميًا. وفي كل مرة يتم فيها تنشيط المهمة، يتم الفحص لمعرفة ما إذا كان وقت التنفيذ قد جاء. إذا كان الوقت قد حان، يتم التشغيل. يتم تحديد وقت التنفيذ بواسطة الخاصية nautilus.staleDataRemove.executionTime في ملف التكوين nautilus_config.properties.
دورية المهام
يكون لتغيير دورية هذه المهمة التأثيرات التالية:
- تغيير كيفية مطالبة الإعلامات المستحقة إلى إعلامات متأخرة. طبقًا للتكوين الافتراضي، سيتم تحويل الإعلامات بعد مرور خمس دقائق كحد أقصى بعد تجاوز تاريخ استحقاقها.
- تغيير كيفية إرسال رسائل التذكير. طبقًا للتكوين الافتراضي، يتم التوزيع بعد مرور خمس دقائق كحد أقصى من وقت التذكير.
- تغيير كيفية تشغيل مهمة حذف البيانات التالفة. طبقًا للتكوين الافتراضي، يتم التشغيل خلال خمس دقائق من الوقت المحدد.
اعتبارات الأداء
يتم تشغيل جزء تنظيف رسائل الإعلام الخاص بهذه المهمة ليلاً في وقت محدد بواسطة الخاصية nautilus.staleDataRemove.executionTime الموجودة في ملف التكوين nautilus_config.properties. بشكل افتراضي، يتم التعيين للتشغيل مرة واحدة في الساعة 1:00 صباحًا.
لا يهتم هذا الاستعلام إطلاقًا بالأداء، حيث أنه يقوم بشكل أساسي بمسح جدول eud_item_recipient بأكمله للبحث عن الإعلامات القديمة وحذفها.
في حالة التأكد من أن هذه المهمة تمثل عبء خطير على النظام الخاص بك بصرف النظر عن جميع هذه الاحتياطات، يوجد شيئان يمكنك تنفيذهما:
- تغيير وقت التنفيذ. تمتلك معظم الجامعات مهام صيانة أخرى يتم تشغيلها ليلاً، وفي حالة تعارض هذه المهمة معها أو اشتراكها معها في إرهاق خادم قاعدة البيانات الخاص بك، يمكنك تشغيلها في وقت مختلف. للتوضيح: توصي Blackboard بشدة ضد تشغيل هذه المهمة نهارًا أو في أي فترة تتوقع فيها استخدام الأفراد للنظام بشكل مكثف.
- يجب اتخاذ خطوات لتقليل حجم مخزن الإعلامات. فكلما قل عدد الإعلامات التي تمتلكها، سيتم تشغيل هذا الاستعلام بشكل أسرع. للحصول على تلميحات حول كيفية القيام بذلك، راجع تغيير حجم الإعلامات.
DistributionSendNotificationTask
للتأكد من عدم تشغيل هذه المهمة لفترة مطولة من الوقت، فإنها تتعامل فقط مع عدد محدود من الإعلامات في أي عملية تنفيذ. يمكن للمسؤولين تكوين هذا الإعداد في الخاصية nautilus.distribution.notificationsPerDistribution في ملف التكوين nautilus_config.properties. والإعداد الافتراضي هو 10,000.
تقوم مهام التوزيع بإرسال إعلامات إلى جميع الموزعين المعتمدين. لمعظم الجامعات، هذا يعني الإرسال إلى موزع البريد الإلكتروني فقط. يجب توقع انخفاض الأداء كلما تم إضافة موزع جديد إلى المجموعة.
دورية المهام
يؤدي تغيير دورية هذه المهمة إلى تغيير الفاصل الزمني الذي يستغرقه النظام لإرسال الإعلامات. طبقًا للتكوين الافتراضي، سيتم توزيع إعلام بعد مرور ما لا يزيد عن ساعة من وقت التقديم إلى النظام. كما يستطيع مسؤولو النظام تعيين الفترة التي يتم عندها توزيع الإعلامات في نظام Learn عن طريق تحرير المهام الموجودة في ملف tasks.xml في المجلد BB_HOME/config/. تم العثور على قيمة الفترة في blackboard.platform.nautilus.service.internal.DistributionSendNotificationTask.
كما يتأثر أيضًا عدد الإعلامات الموزعة لكل طلب عندما يتم إرسال إعلام. يمكن للمسؤولين تكوين هذا الإعداد في nautilus.distribution.notificationsPerDistribution داخل ملف التكوين nautilus_config.properties.
اعتبارات الأداء
لا يتم تنفيذ هذه المهمة كثيرًا، ولكنها تضع حدًا لعدد الإعلامات التي تتم معالجتها في عملية تنفيذ واحدة. يسمح هذا المنهج المزدوج للتوزيع للنظام بإرسال إعلامات بعد مرور وقت قصير من توفرها بدون إرهاق النظام عندما يكون الإعلام كبيرًا لحد ما، على سبيل المثال، في بداية الفصل الدراسي عند توفير المقررات الدراسية الجديدة عبر الإنترنت.
إذا كانت عملية التوزيع تؤدي إلى تدهور الأداء، يجب تقليل دورية تنفيذ المهمة، والاهتمام بالأداء على حساب المطالبات. إذا كانت عمليات التوزيع تستغرق وقتًا طويلاً، يمكنك ببساطة تقليل عدد الإعلامات التي تتم معالجتها لكل عملية تنفيذ.
كبديل، إذا اكتشفت أن الإعلامات لا تصل في وقت مناسب، قلل دورية تنفيذ هذه المهمة وعدد الإعلامات التي تقوم بمعالجتها في كل عملية تنفيذ.
يتم إزالة بعض المستلمين بالاسم فقط. وهذا يعني، أن سجلاتهم المقترنة تظل موجودة بالفعل ويتم فقط وضع علامة الحالة تم حذف عليها.