عزل مجموعة حمل عمل Azure Synapse Analytics

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

مجموعات حمل العمل

مجموعات حمل العمل عبارة عن حاويات لمجموعة من الطلبات وهي الأساس لكيفية تكوين إدارة حمل العمل، بما في ذلك عزل حمل العمل، على النظام. يتم إنشاء مجموعات حمل العمل باستخدام بناء جملة CREATE WORKLOAD GROUP. يمكن لتكوين إدارة حمل العمل البسيط إدارة أحمال البيانات واستعلامات المستخدم. على سبيل المثال، ستقوم مجموعة حمل العمل المسماة wgDataLoads بتعريف جوانب حمل العمل للبيانات التي يتم تحميلها في النظام. أيضًا، ستحدد مجموعة عبء العمل المسماة wgUserQueries جوانب عبء العمل للمستخدمين الذين يقومون بتشغيل الاستعلامات لقراءة البيانات من النظام.

ستسلط الأقسام التالية الضوء على الكيفية التي توفر بها مجموعات عبء العمل القدرة على تحديد العزل والاحتواء وطلب تعريف الموارد والالتزام بقواعد التنفيذ.

إدارة الموارد

تتحكم مجموعات حمل العمل في الذاكرة وموارد وحدة المعالجة المركزية. لا يتم التحكم في القرص والشبكة IO بالإضافة إلى tempdb. إدارة الموارد للذاكرة وCPU كما يلي:

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

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

عزل حمل العمل

يعني عزل حمل العمل أن الموارد محجوزة، حصريًا، لمجموعة حمل العمل. يتم تحقيق عزل حمل العمل عن طريق تكوين المعلمة MIN_PERCENTAGE_RESOURCE إلى أكبر من الصفر في بناء جملة CREATE WORKLOAD GROUP. بالنسبة لأحمال عمل التنفيذ المستمر التي تحتاج إلى الالتزام باتفاقيات مستوى الخدمة المُحكمة، يضمن العزل توفر الموارد دائمًا لمجموعة عبء العمل.

يحدد تكوين عزل حمل العمل ضمنًا مستوى مضمونًا من التزامن. على سبيل المثال، مجموعة عبء العمل مع MIN_PERCENTAGE_RESOURCE معينة إلى 30% و REQUEST_MIN_RESOURCE_GRANT_PERCENT لتعيين 2% مضمونة 15 تزامن. مستوى التزامن مضمون لأنه يتم حجز 15-2% فتحات من الموارد ضمن مجموعة حمل العمل في جميع الأوقات (بغض النظر عن كيفية تكوين REQUEST_MAX_RESOURCE_GRANT_PERCENT). إذا كانت REQUEST_MAX_RESOURCE_GRANT_PERCENT أكبر من REQUEST_MIN_RESOURCE_GRANT_PERCENT وكان CAP_PERCENTAGE_RESOURCE أكبر من MIN_PERCENTAGE_RESOURCE، فيمكن إضافة موارد إضافية لكل طلب (بناءً على توفر الموارد). إذا تساوت REQUEST_MAX_RESOURCE_GRANT_PERCENT و REQUEST_MIN_RESOURCE_GRANT_PERCENT وكان CAP_PERCENTAGE_RESOURCE أكبر من MIN_PERCENTAGE_RESOURCE، فمن الممكن أن يكون هناك تزامن إضافي. ضع في اعتبارك الطريقة التالية لتحديد التزامن المضمون:

[التزامن المضمون] = [MIN_PERCENTAGE_RESOURCE] / [REQUEST_MIN_RESOURCE_GRANT_PERCENT]

ملاحظة

توجد قيم دنيا محددة لمستوى الخدمة لـ min_percentage_resource. لمزيد من المعلومات، راجع القيم الفعالة لمزيد من التفاصيل.

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

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

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

ملاحظة

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

احتواء حمل العمل

يشير احتواء عبء العمل إلى الحد من كمية الموارد التي يمكن أن تستهلكها مجموعة عبء العمل. يتم احتواء عبء العمل من خلال تكوين معلمة CAP_PERCENTAGE_RESOURCE إلى أقل من 100 في بناء جملة CREATE WORKLOAD GROUP. ضع في اعتبارك السيناريو الذي يحتاج المستخدمون بموجبه إلى الوصول للقراءة إلى النظام حتى يتمكنوا من إجراء تحليل ماذا لو عبر استعلامات مخصصة. يمكن أن يكون لهذه الأنواع من الطلبات تأثير سلبي على أحمال العمل الأخرى التي يتم تشغيلها على النظام. يضمن تكوين الاحتواء أن كمية الموارد محدودة.

تكوين احتواء حمل العمل يحدد ضمنيًا الحد الأقصى لمستوى التزامن. مع ضبط CAP_PERCENTAGE_RESOURCE على 60% وREQUEST_MIN_RESOURCE_GRANT_PERCENT على 1%، يسمح بمستوى تزامن يصل إلى 60 لمجموعة حمل العمل. خذ بعين الاعتبار الطريقة المُضمنة أدناه لتحديد الحد الأقصى للتزامن:

[الحد الأقصى للتزامن] = [CAP_PERCENTAGE_RESOURCE] / [REQUEST_MIN_RESOURCE_GRANT_PERCENT]

ملاحظة

لن تصل CAP_PERCENTAGE_RESOURCE الفعالة لمجموعة أحمال العمل إلى 100% عند إنشاء مجموعات عبء العمل مع MIN_PERCENTAGE_RESOURCE بمستوى أكبر من الصفر. راجع sys.dm_workload_management_workload_groups_stats لقيم وقت التشغيل الفعالة.

الموارد لكل تعريف طلب

توفر مجموعات حمل العمل آلية لتحديد الحد الأدنى والحد الأقصى من الموارد المخصصة لكل طلب باستخدام معلمات REQUEST_MIN_RESOURCE_GRANT_PERCENT و REQUEST_MAX_RESOURCE_GRANT_PERCENT في بنية مجموعة CREATE WORKLOAD GROUP. المورد في هذه الحالة هو الذاكرة. تتم تغطية إدارة موارد وحدة المعالجة المركزية في قسم إدارة الموارد.

ملاحظة

REQUEST_MAX_RESOURCE_GRANT_PERCENT هي معلمة اختيارية يتم تعيينها افتراضيًا على نفس القيمة المحددة لـ REQUEST_MIN_RESOURCE_GRANT_PERCENT.

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

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

ملاحظة

REQUEST_MIN_RESOURCE_GRANT_PERCENT REQUEST_MAX_RESOURCE_GRANT_PERCENT قيم فعالة تعتمد على قيم MIN_PERCENTAGE_RESOURCE CAP_PERCENTAGE_RESOURCE الفعالة. راجع sys.dm_workload_management_workload_groups_stats لقيم وقت التشغيل الفعالة.

قواعد التنفيذ

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

موارد تجمع مشترك

موارد التجمع المشترك هي الموارد غير المكونة للعزل. مجموعات أحمال العمل مع MIN_PERCENTAGE_RESOURCE مضبوطة على عدم الاستفادة من الموارد في التجمع المشترك لتنفيذ الطلبات. مجموعات أحمال العمل ذات CAP_PERCENTAGE_RESOURCE الأكبر من MIN_PERCENTAGE_RESOURCE تستخدم أيضًا الموارد المشتركة. يتم حساب مقدار الموارد المتوفرة في التجمع المشترك كما يلي.

[تجمع مشترك] = 100 - [مجموع MIN_PERCENTAGE_RESOURCE عبر جميع مجموعات حمل العمل]

يتم تخصيص الوصول إلى الموارد في التجمع المشترك على أساس الأهمية. ستتمكن الطلبات التي لها نفس مستوى الأهمية من الوصول إلى موارد التجمع المشترك على أساس ما يرد أولاً / يصرف أولاً.

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