البرنامج التعليمي: 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
- إعداد التشخيصات
- عرض سجلات الاستعلام البطيئة باستخدام تحليلات السجل
- عرض سجلات الاستعلام البطيئة باستخدام المصنفات
المتطلبات الأساسية
- إنشاء مثيل خادم مرن لقاعدة بيانات Azure ل MySQL.
- إنشاء مساحة عمل Log Analytics.
تكوين سجلات الاستعلام البطيئة باستخدام مدخل Microsoft Azure
قم بتسجيل الدخول إلى بوابة Azure.
حدد قاعدة بيانات Azure لمثيل خادم MySQL المرن.
في الجزء الأيسر، ضمن Settings، حدد Server parameters.
بالنسبة للمعلمة slow_query_log، حدد ON.
بالنسبة للمعلمات الأخرى، مثل long_query_timeو log_slow_admin_statements،راجع وثائق سجلات الاستعلام البطيئة.
حدد حفظ.
يمكنك العودة إلى قائمة السجلات بإغلاق صفحة 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 دقائق.
في الجزء الأيسر، ضمن Monitoring، حدد Diagnostic settings.
في صفحة Diagnostic settings، انقر فوق Add diagnostic setting.
في المربع Name أدخل اسماً لإعداد التشخيص.
حدد الوجهات (مساحة عمل تحليلات السجل، أو مركز أحداث، أو حساب تخزين) لإرسال سجلات الاستعلام البطيئة إليها عن طريق تحديد خانات الاختيار المقابلة لها.
إشعار
بالنسبة لهذا البرنامج التعليمي، سوف ترسل سجلات الاستعلام البطيئة إلى مساحة عمل تحليلات السجل.
ضمن Log، لنوع السجل، حدد مربع الاختيار MySqlSlowLogs.
بعد تكوين مصارف البيانات لتوجيه سجلات الاستعلام البطيء إليها، حدد Save.
عرض رؤى الاستعلام باستخدام تحليلات السجل
في سجل التحليلات، في الجزء الأيسر، ضمن Monitoring، حدد Logs.
إغلاق النافذة Queries التي يتم فتحها.
في نافذة الاستعلام، يمكنك كتابة الاستعلام ليتم تنفيذه. للبحث عن استعلامات أطول من 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
حدد النطاق الزمني، ثم قم بتشغيل الاستعلام. يتم عرض النتائج في الصورة التالية:
عرض رؤى الاستعلام باستخدام المصنفات
في مدخل Microsoft Azure، في الجزء الأيمن، ضمن Monitoring for your Azure Database for MySQL flexible server instance، حدد Workbooks.
حدد قالب Query Performance Insight.
في المصنف، يمكنك عرض المرئيات التالية:
- تحميل الاستعلام
- إجمالي الاتصالات النشطة
- اتجاه الاستعلام البطيء (وقت الاستعلام >10 ثوانٍ)
- تفاصيل الاستعلام البطيئة
- سرد أعلى 5 استعلامات في الطول
- تلخيص الاستعلامات البطيئة حسب الحد الأدنى والحد الأقصى والمتوسط ووقت استعلام الانحراف المعياري
إشعار
- لعرض استخدام الموارد، يمكنك استخدام قالب النظرة العامة.
- يمكنك أيضاً تحرير هذه القوالب وتخصيصها وفقاً لمتطلباتك. لمزيد من المعلومات، راجع Azure Workbooks.
- للحصول على عرض سريع، يمكنك أيضاً تثبيت المصنفات أو استعلام تحليلات السجل بلوحة المعلومات. لمزيد من المعلومات، راجع إنشاء لوحة معلومات في مدخل Microsoft Azure.
في Query Performance Insight، هناك مقياسان يمكن أن يساعداك في العثور على الاختناقات المحتملة وهما المدةوعدد التنفيذ. تمتلك الاستعلامات التي تعمل لفترة طويلة أقصى إمكانية لتأمين الموارد لفترة أطول وحجب المستخدمين الآخرين والحد من قابلية التطوير.
في بعض الحالات، يمكن أن تؤدي ضخامة عدد التنفيذ إلى مزيد من رحلات الشبكة ذهاباً وإياباً. تؤثر هذه الرحلات على الأداء. إنهم عرضة للتأخر في الشبكة وتأخر خادم التنزيل. حتى عدد التنفيذ يمكن أن تساعد في العثور على الاستعلامات التي تم تنفيذها بشكل متكرر ("chatty"). هذه الاستعلامات هي أفضل المرشحين للتحسين.
الخطوات التالية
- تعرف على المزيد حول مصنفات Azure Monitor وخيارات المرئيات الغنية الخاصة بها.
- تعرف على المزيد حول سجلات الاستعلام البطيئة.