هل يساعد مدير الموارد في حماية متوسط ​​العمر المتوقع للصفحة؟

dba.stackexchange https://dba.stackexchange.com/questions/109025

سؤال

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

أنا قلق بشأن التأثير الذي قد يسببه هذا على أداء تطبيقات الإنتاج الخاصة بي.

في محاولة للتخفيف من هذا، أنا أبحث في محافظ الموارد.سأقوم بتعيين البرنامج النصي الخاص بي لاستخدام تجمع موارد يقتصر على 5٪ كحد أقصى من وحدة المعالجة المركزية والذاكرة.

الجزء الوحيد الذي لست متأكدًا منه هو التأثير على PLE.

كما أفهمها، فإن التحديد من الجدول سوف يقرأ القيمة الموجودة في ذاكرة التخزين المؤقت.سيؤدي هذا إلى إخراج شيء آخر كان موجودًا في ذاكرة التخزين المؤقت.(المفهوم الأساسي لـ PLE.) ولكن هل ستقتصر العناصر "المفروضة" على نسبة الـ 5% التي حددتها؟

بمعنى أنه بعد استخدام الـ 5% من الذاكرة، هل سيؤدي ذلك إلى إخراج العناصر المخزنة مؤقتًا في نفس الـ 5% فقط؟ (مع ترك الـ 95% الأخرى غير متأثرة.)

طريقة أخرى لطرح هذا السؤال هي:هل حد الذاكرة 5% هو نفس قول حد ذاكرة التخزين المؤقت 5%؟

هل كانت مفيدة؟

المحلول

تنص صفحة MSDN هذه على أن إعدادات الذاكرة تؤثر فقط على ذاكرة الاستعلام:

مجمع موارد محافظ الموارد

MIN_MEMORY_PERCENT وMAX_MEMORY_PERCENT

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

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

ما يلي مقتطف من مدونة MSDN، العمر المتوقع لصفحة خادم SQL:

يعد متوسط ​​العمر المتوقع للصفحة (PLE) أفضل مؤشر على مدى تقلب المخزن المؤقت (BP).إنه عداد PerfMon، موجود في كائن SQL Server:Buffer Manager PerfMon.يوجد أيضًا عداد Buffer Node:Page Life المتوقع الذي يجب أخذه في الاعتبار بالنسبة لأنظمة NUMA، باستخدام نفس المنطق لكل عقدة كما هو الحال في نظام غير NUMA.

يتم قياس التقلب من خلال أخذ متوسط ​​"عمر" الصفحة داخل المخزن المؤقت (بالثواني).إذا تمت الكتابة فوق الصفحة أو أصبحت قديمة، فإنها تبدأ حياة جديدة تمامًا.

لذلك، إذا تم استبدال الكثير من الصفحات ببيانات جديدة في كثير من الأحيان، فسيكون متوسط ​​PLE منخفضًا، وستكون تقلبات BP عالية.

على العكس من ذلك، إذا بقيت معظم الصفحات في BP لدينا لفترة طويلة دون الكتابة فوقها، فسيكون متوسط ​​PLE مرتفعًا، وستكون تقلبات BP منخفضة.

فلماذا نهتم بتقلبات BP وPLE؟ما الذي يمكن أن تفعله لنا معرفة تقلبات BP؟ما هو رقم PLE "الجيد" و"السيئ"؟

يمكن أن يكون PLE مقياسًا لمقدار الإدخال/الإخراج الفعلي الذي يقوم به SQL Server.أتمنى أن أحظى باهتمامك، لأن الإدخال/الإخراج الفعلي يمثل مصدر قلق كبير للأداء، سواء بالنسبة للقراءة أو الكتابة.

من الأسئلة في التعليقات هنا:

ما هي "ذاكرة الاستعلام" وكيف تختلف عن ذاكرة التخزين المؤقت؟

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

يبدو أن الإجابة على سؤالي هي أن الأشخاص العاديين لن يتمتعوا بالحماية من قبل محافظ الموارد على الإطلاق.هل يبدو هذا صحيحا؟

صحيح.العمر المتوقع للصفحة يدور حول مدة بقاء صفحات البيانات في الذاكرة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى dba.stackexchange
scroll top