طريقة RED لتحليل أداء MySQL

تم إعداد ترجمة المقال تحسباً لبدء الدورة التدريبية "ممارسات وأدوات DevOps" .










تعد طريقة RED (المعدل والأخطاء والمدة) أحد الأساليب الشائعة لمراقبة الأداء. غالبًا ما يتم استخدامه لمراقبة الخدمات المصغرة ، على الرغم من أنه لا شيء يمنعك من استخدامها لقواعد البيانات مثل MySQL.



في Percona Monitoring and Management (PMM) v2 ، يتم جمع جميع المعلومات الضرورية في قاعدة بيانات ClickHouse ، ومن ثم يصبح إنشاء لوحة معلومات لتصور المقاييس باستخدام مصدر بيانات ClickHouse المدمج مسألة تقنية .



عند إنشاء لوحة القيادة ، بالإضافة إلى لوحات RED ، تمت إضافة العديد من اللوحات الإضافية لإظهار بعض الأشياء المثيرة للاهتمام التي يمكن القيام بها باستخدام Grafana + ClickHouse كمصدر بيانات ومعلومات نخزنها حول أداء استعلام MySQL.



دعنا نلقي نظرة فاحصة على لوحة القيادة.







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



بمساعدة المرشحات ("الفلاتر" في الجزء العلوي من لوحة القيادة) ، يمكنك فقط عرض البيانات التي تحتاجها. على سبيل المثال ، يمكنك تحديد استعلامات مخطط "sbtest" فقط للمضيفين الموجودين في منطقة "مركز البيانات 4":







هذا التصفية المخصصة مريحة للغاية. يمكنك استخدام التعبيرات العادية في عوامل التصفية ، والبحث عن طريق معرّف استعلام محدد ، وتحليل الاستعلامات من مضيفين عملاء معينين ، وما إلى ذلك. للحصول على وصف للأعمدة المتوفرة في ClickHouse ، راجع المنشور تحليل الاستعلام المتقدم في Percona Monitoring and Management باستخدام Direct ClickHouse Access .



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







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



تعرفنا على لوحات طريقة RED. الآن دعنا نلقي نظرة على لوحات المعلومات الإضافية في لوحة المعلومات هذه. تُظهر







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



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



استعلامات لكل مضيف(عدد الطلبات حسب المضيف) يتحدث عن نفسه ، ومن المفيد جدًا مشاهدة تحميل الاستعلام لكل مضيف (تحميل بواسطة المضيفين) ، والذي يظهر عدد الطلبات النشطة المتزامنة. يمكننا هنا أن نرى أنه على الرغم من حقيقة أن mysql4 لا يحتوي على أكبر عدد من الاستعلامات (معدل الاستعلام) ، إلا أنه يحتوي على أعلى تحميل وأعلى متوسط ​​عدد من الاستعلامات النشطة.



بالتفكير في المقاييس الأخرى التي قد تكون مفيدة ، أضفت اللوحات الإضافية التالية:







تفصل هذه اللوحات كفاءة معالجة الاستعلام في استعلامات القراءة (التي ترجع الصفوف) واستعلامات الكتابة (التي تتأثر بالصفوف).



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



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



أخيرًا ، هناك عدة قوائم بها طلبات.







الاستعلامات المتكررة والاستعلامات الأبطأ (حسب متوسط ​​وقت التنفيذ) والاستعلامات ذات التحميل الأعلى والاستعلامات التي فشلت أو فشلت. يمكنك أيضًا الاطلاع على طلبات البحث هذه في Query Analytics ، لكنني أردت عرضها هنا كمثال.



هل انت مهتم؟ يمكنك تثبيت لوحة القيادة في Percona Monitoring and Management (PMM) v2 من Grafana.com .






من الكود إلى kubernetes







All Articles