أداء ذكي

مكتمل

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

ويتضمن الأداء الذكي لـ Azure SQL معالجة الاستعلام الذكية، وتصحيح الخطة التلقائية، والضبط التلقائي.

معالجة الاستعلام الذكية

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

تدعم قاعدة بيانات Azure SQL ومثيل Azure SQL المدار نفس مستوى توافق قاعدة البيانات المطلوب (150) لاستخدام IQP ك SQL Server 2019 والإصدارات الأحدث.

تصحيح الخطة التلقائي

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

قدم SQL Server 2017 وقاعدة بيانات Azure SQL مفهوم تصحيح الخطة التلقائي من خلال تحليل البيانات في مخزن الاستعلام. فعندما يتم تمكين مخزن الاستعلام مع قاعدة البيانات في 2017 SQL Server (أو أحدث) وفي قاعدة بيانات Azure SQL، يقوم مشغل SQL Server بالنظر في تراجعات خطة الاستعلام وتوفير توصيات. يمكنك مشاهدة هذه التوصيات في طريقة عرض الإدارة الديناميكية sys.dm_db_tuning_recommendations (DMV). وتتضمن هذه التوصيات كشوف T-SQL لتقوم بفرض خطة استعلام يدويًا عندما كان الأداء في حالة جيدة.

إذا كنت تكتسب الثقة في هذه التوصيات، فإنه يمكنك القيام بتمكين SQL Server لفرض الخطط تلقائيًا عند مواجهة التراجعات. تمكين التصحيح التلقائي للخطة AUTOMATIC_TUNING باستخدام ALTER DATABASE والوسيطة.

وبالنسبة إلى قاعدة بيانات Azure SQL، فإنه يمكنك أيضًا تمكين تصحيح الخطة التلقائي من خلال خيارات الضبط التلقائي في مدخل Microsoft Azure أو واجهات برمجة تطبيقات REST. يتم تمكين توصيات تصحيح الخطة التلقائي دومًا لأي قاعدة بيانات حيث يتم تمكين مخزن الاستعلام (وهو الافتراضي لقاعدة بيانات Azure SQL ومثيل Azure SQL المُدار). بالنسبة لقواعد البيانات الجديدة، يتم تمكين التصحيح التلقائي للخطة (FORCE_PLAN) بشكل افتراضي لقاعدة بيانات Azure SQL.

الضبط التلقائي لقاعدة بيانات Azure SQL

تصحيح الخطة التلقائي هو مثال على الضبط التلقائي في Azure SQL وSQL Server، ولكن الجانب الفريد للضبط التلقائي لقاعدة بيانات Azure SQL هو الفهرسة التلقائية.

إشعار

وتكون الفهرسة التلقائية غير متوفرة حاليًا في مثيل SQL المُدار.

توفر السحابة طريقة من أجل Microsoft لتقديم خدمات إضافية في شكل توصيات الأداء ويكون التشغيل الآلي خارج توصيات الخطة. وتُعرف هذه القدرة باسم الضبط التلقائي لقاعدة بيانات Azure SQL. يتم تشغيل هذه الخدمات كبرامج خلفية حيث تقوم بتحليل بيانات الأداء من مثيل قاعدة بيانات Azure SQL. يتم إدراج هذه الخدمات في سعر أي اشتراك لقاعدة بيانات.

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

ويأخذ الضبط التلقائي لقاعدة بيانات Azure SQL نهجًا محافظًا بالتوصية بالفهارس. وهذا يعني أن التوصيات التي قد تظهر في DMV مثل sys.dm_db_missing_index_details، أو خطة عرض استعلام، قد لا تظهر على الفور كتوصيات للضبط التلقائي. تراقب خدمات الضبط التلقائي الاستعلامات بمرور الوقت وتستخدم خوارزميات التعلم الآلي لتقديم توصيات للتأثير حقا على أداء الاستعلام.

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

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

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

مثال على الفهارس مع الضبط التلقائي في قاعدة بيانات Azure SQL

وفيما يلي مثال من مدخل Microsoft Azure، حيث تتم توصية الفهارس لقاعدة بيانات تستند إلى تحليل حمل العمل بمرور الوقت. لم نرسل نشاطا كافيا إلى قاعدة بيانات Azure SQL لبيئة الاختبار المعزولة لإنشاء توصيات مثل هذه حتى الآن. CREATE INDEX يتم إنشاء التوصيات بمرور الوقت مع تسجيل حمل العمل الخاص بك، وليس في الإطار الزمني الصغير لهذا التمرين.

Screenshot of index recommendation notification.

في مدخل Microsoft Azure، في نظرة عامة على الأداء، يمكنك مشاهدة معلومات الأداء لأهم خمسة استعلامات مستهلكة للموارد، كما هو موجود في Query Store. وهناك أيضا توصية.

Screenshot of Query Performance Overview.

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

Screenshot of Query Performance Insights.

كما يوفر مدخل Microsoft Azure طريقة مباشرة لمشاهدة أي توصيات تتعلق بالأداء.

Screenshot of Performance Recommendations.

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

Screenshot of automatic tuning options.

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

يمكنك أيضا عرض خيارات الضبط التلقائي من خلال sys.database_automatic_tuning_options DMV.

إشعار

لا تتوفر التوصيات والتشغيل التلقائي للفهارس والخطط الحساسة للمعلمات لمثيل Azure SQL المدار أو SQL Server. ويتوفر التصحيح التلقائي للخطة.

إذا قمت بتحديد الفهرس الموصى به، فإنه يمكنك الحصول على مزيد من التفاصيل حول الفهرس المحدد.

Screenshot of create index recommendation.

سترى تفاصيل حول الفهرس والجدول والمساحة المطلوبة. فلديك الخيار لتطبيق الفهرس الموصى به أو لعرض البرنامج النصي T-SQL الذي يقوم بتطبيق الفهرس.

Screenshot of the index recommendation script.

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

‏اختبر معلوماتك

1.

ما هو أفضل وصف لمعالجة الاستعلامات الذكية (IQP)؟

2.

هل يمكن أن يساعد التصحيح التلقائي للخطة في التوصية وإصلاح أي نوع من سيناريو الأداء؟

3.

هل يمكن أن يعمل الضبط التلقائي لقاعدة بيانات Azure SQL على التوصية وإنشاء فهارس استنادًا إلى المعلومات؟