Azure Synapse Analytics workload group isolation

تلميح

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

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

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

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

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

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

مجموعات عبء العمل تتحكم في موارد الذاكرة والمعالج. إخراج القرص والشبكة وكذلك tempdb غير خاضعين للحكم. حوكمة الموارد للذاكرة والمعالج المركزي هي كما يلي:

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

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

عزل حمل العمل

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

إعداد عزل عبء العمل يحدد ضمنيا مستوى مضمونا من التزامن. على سبيل المثال، مجموعة عبء العمل التي 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. لمزيد من المعلومات، راجع القيم الفعالة لمزيد من التفاصيل.

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

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

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

‏‫ملاحظة‬

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

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

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

تكوين احتواء حمل العمل يحدد ضمنيًا الحد الأقصى لمستوى التزامن. مع ضبط 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 في صياغة إنشاء مجموعة عبء العمل. المورد في هذه الحالة هو الذاكرة. يتم تغطية حوكمة موارد وحدة المعالجة المركزية في قسم حوكمة الموارد .

‏‫ملاحظة‬

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 عبر جميع مجموعات عبء العمل]

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

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