البرنامج التعليمي: Query Performance Insight for Azure Database for MySQL - Flexible Server

ينطبق على: قاعدة بيانات Azure ل MySQL - خادم مرن

يقترح Query Performance Insight توفير تحليل استعلام ذكي لقواعد البيانات. الرؤى الأكثر تفضيلاً هي أنماط حمل العمل والاستعلامات التي تعمل لفترة أطول. يمكن أن يساعدك فهم هذه الرؤى في العثور على الاستعلامات التي يجب تحسينها لتحسين الأداء الكلي واستخدام الموارد المتاحة بكفاءة.

تم تصميم Query Performance Insight لمساعدتك على قضاء وقت أقل في استكشاف أخطاء أداء قاعدة البيانات عن طريق توفير معلومات مثل:

  • أعلى N الاستفسارات طويلة الأمد واتجاهاتها.
  • تفاصيل الاستعلام: عرض محفوظات التنفيذ مع الحد الأدنى والحد الأقصى والمتوسط ووقت استعلام الانحراف القياسي.
  • استخدام الموارد (وحدة المعالجة المركزية CPU والذاكرة والتخزين).

تتناول هذه المقالة كيفية استخدام قاعدة بيانات Azure لسجلات الاستعلام البطيئة للخادم المرن ل MySQL، وأداة Log Analytics، وقوالب المصنفات لتصور Query Performance Insight لقاعدة بيانات Azure لخادم MySQL المرن.

ستتعلم في هذه البرنامج التعليمي كيفية:

  • تكوين سجلات الاستعلام البطيئة باستخدام مدخل Microsoft Azure أو واجهة سطر الأوامر Azure
  • إعداد التشخيصات
  • عرض سجلات الاستعلام البطيئة باستخدام تحليلات السجل
  • عرض سجلات الاستعلام البطيئة باستخدام المصنفات

المتطلبات الأساسية

تكوين سجلات الاستعلام البطيئة باستخدام مدخل Microsoft Azure

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. حدد قاعدة بيانات Azure لمثيل خادم MySQL المرن.

  3. في الجزء الأيسر، ضمن Settings، حدد Server parameters.

    لقطة شاشة تعرض قائمة 'Server parameters'.

  4. بالنسبة للمعلمة slow_query_log، حدد ON.

    تم تبديل لقطة الشاشة التي تظهر المعلمة

  5. بالنسبة للمعلمات الأخرى، مثل long_query_timeو log_slow_admin_statements،راجع وثائق سجلات الاستعلام البطيئة.

    لقطة شاشة تعرض القيم المحدثة للمعلمات المتبقية المرتبطة بسجل الاستعلام البطيء.

  6. حدد حفظ.

    لقطة شاشة لزر

يمكنك العودة إلى قائمة السجلات بإغلاق صفحة Server parameters.

تكوين سجلات الاستعلام البطيئة باستخدام Azure CLI

بدلا من ذلك، يمكنك تمكين وتكوين سجلات الاستعلام البطيئة لمثيل خادم Azure Database for MySQL المرن من Azure CLI عن طريق تشغيل الأمر التالي:

هام

للتأكد من أن أداء مثيل خادم Azure Database for MySQL المرن لا يتأثر بشكل كبير، نوصي بتسجيل أنواع الأحداث والمستخدمين المطلوبين لأغراض التدقيق فقط.

  • تمكين سجلات الاستعلام البطيئة.
az mysql flexible-server parameter set \
--name slow_query_log \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
  • تعيين الوقت long_query_time إلى 10 ثوان. سيسجل هذا الإعداد جميع الاستعلامات التي يتم تنفيذها لأكثر من 10 ثوان. اضبط هذا الحد استنادا إلى تعريفك للاستعلامات البطيئة.
az mysql server configuration set \
--name long_query_time \
--resource-group myresourcegroup \
--server mydemoserver \
--value 10

إعداد التشخيصات

يتم دمج سجلات الاستعلام البطيئة مع إعدادات التشخيص في Azure Monitor للسماح لك بتوجيه السجلات إلى أي من مصارف البيانات الثلاثة:

  • مساحة عمل Log Analytics
  • محور حدث
  • A حساب تخزين

إشعار

يجب إنشاء مصارف البيانات قبل تكوين إعدادات التشخيص. يمكنك الوصول إلى سجلات الاستعلام البطيئة في مصارف البيانات التي قمت بتكوينها. قد يستغرق ظهور السجلات مده تصل الي 10 دقائق.

  1. في الجزء الأيسر، ضمن Monitoring، حدد Diagnostic settings.

  2. في صفحة Diagnostic settings، انقر فوق Add diagnostic setting.

    لقطة شاشة لرابط 'إضافة إعداد تشخيص' في الجزء 'إعدادات التشخيص'.

  3. في المربع Name أدخل اسماً لإعداد التشخيص.

  4. حدد الوجهات (مساحة عمل تحليلات السجل، أو مركز أحداث، أو حساب تخزين) لإرسال سجلات الاستعلام البطيئة إليها عن طريق تحديد خانات الاختيار المقابلة لها.

    إشعار

    بالنسبة لهذا البرنامج التعليمي، سوف ترسل سجلات الاستعلام البطيئة إلى مساحة عمل تحليلات السجل.

  5. ضمن Log، لنوع السجل، حدد مربع الاختيار MySqlSlowLogs.

    لقطة شاشة جزء

  6. بعد تكوين مصارف البيانات لتوجيه سجلات الاستعلام البطيء إليها، حدد Save.

    لقطة شاشة لخيارات تكوين إعدادات التشخيص، مع تمييز حفظ.

عرض رؤى الاستعلام باستخدام تحليلات السجل

  1. في سجل التحليلات، في الجزء الأيسر، ضمن Monitoring، حدد Logs.

  2. إغلاق النافذة Queries التي يتم فتحها.

    لقطة شاشة لجزء

  3. في نافذة الاستعلام، يمكنك كتابة الاستعلام ليتم تنفيذه. للبحث عن استعلامات أطول من 10 ثوانٍ على خادم معين، استخدمنا التعليمات البرمجية التالية:

    AzureDiagnostics
       | where Category == 'MySqlSlowLogs'
       | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
       | where query_time_d > 10
    
  4. حدد النطاق الزمني، ثم قم بتشغيل الاستعلام. يتم عرض النتائج في الصورة التالية:

    لقطة شاشة لسجل استعلام بطيء.

عرض رؤى الاستعلام باستخدام المصنفات

  1. في مدخل Microsoft Azure، في الجزء الأيمن، ضمن Monitoring for your Azure Database for MySQL flexible server instance، حدد Workbooks.

  2. حدد قالب Query Performance Insight.

    لقطة شاشة تعرض جميع المصنفات في معرض المصنفات.

في المصنف، يمكنك عرض المرئيات التالية:

  • تحميل الاستعلام
  • إجمالي الاتصالات النشطة
  • اتجاه الاستعلام البطيء (وقت الاستعلام >10 ثوانٍ)
  • تفاصيل الاستعلام البطيئة
  • سرد أعلى 5 استعلامات في الطول
  • تلخيص الاستعلامات البطيئة حسب الحد الأدنى والحد الأقصى والمتوسط ووقت استعلام الانحراف المعياري

لقطة شاشة تعرض استعلامين طويلين.

إشعار

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

في Query Performance Insight، هناك مقياسان يمكن أن يساعداك في العثور على الاختناقات المحتملة وهما المدةوعدد التنفيذ. تمتلك الاستعلامات التي تعمل لفترة طويلة أقصى إمكانية لتأمين الموارد لفترة أطول وحجب المستخدمين الآخرين والحد من قابلية التطوير.

في بعض الحالات، يمكن أن تؤدي ضخامة عدد التنفيذ إلى مزيد من رحلات الشبكة ذهاباً وإياباً. تؤثر هذه الرحلات على الأداء. إنهم عرضة للتأخر في الشبكة وتأخر خادم التنزيل. حتى عدد التنفيذ يمكن أن تساعد في العثور على الاستعلامات التي تم تنفيذها بشكل متكرر ("chatty"). هذه الاستعلامات هي أفضل المرشحين للتحسين.

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