سيناريوهات الاستخدام لمتجر الاستعلام

ينطبق على: قاعدة بيانات Azure لـ PostgreSQL - خادم واحد

هام

قاعدة بيانات Azure ل PostgreSQL - خادم واحد على مسار التقاعد. نوصي بشدة بالترقية إلى Azure Database for PostgreSQL - Flexible Server. لمزيد من المعلومات حول الترحيل إلى قاعدة بيانات Azure ل PostgreSQL - خادم مرن، راجع ما يحدث لقاعدة بيانات Azure لخادم PostgreSQL الفردي؟.

يمكنك استخدام Query Store في مجموعة كبيرة من السيناريوهات التي يكون فيها تعقب أداء حمل العمل المتوقع والحفاظ عليه أمرا بالغ الأهمية. تأمل الأمثلة التالية:

  • تحديد وضبط أعلى الاستعلامات تكلفة
  • اختبار A/B
  • الحفاظ على استقرار الأداء أثناء الترقيات
  • تحديد وتحسين أعباء العمل المخصصة

تحديد الاستعلامات المكلفة وضبطها

تحديد أطول استعلامات قيد التشغيل

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

استهداف الاستعلامات باستخدام دلتا الأداء

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

ضبط الاستعلامات المكلفة

عند تعريف استعلام مع الأداء دون المستوى الأمثل، يعتمد الإجراء الذي تتخذه على طبيعة المشكلة:

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

اختبار A/B

استخدم Query Store لمقارنة أداء حمل العمل قبل تغيير التطبيق وبعده الذي تخطط لإدخاله. أمثلة على سيناريوهات استخدام Query Store لتقييم تأثير تغيير البيئة أو التطبيق على أداء حمل العمل:

  • طرح إصدار جديد من تطبيق.
  • إضافة موارد إضافية إلى الملقم.
  • إنشاء فهارس مفقودة على جداول المشار إليها بواسطة استعلامات مكلفة.

في أي من هذه السيناريوهات، تطبيق سير العمل التالي:

  1. قم بتشغيل حمل العمل الخاص بك مع "مخزن الاستعلام" قبل التغيير المخطط لإنشاء أساس أداء.
  2. تطبيق تغيير التطبيق (ق) في اللحظة التي تسيطر عليها في الوقت المناسب.
  3. متابعة تشغيل حمل العمل لفترة كافية لإنشاء صورة أداء النظام بعد التغيير.
  4. مقارنة النتائج من قبل وبعد التغيير.
  5. قرر ما إذا كان يجب الاحتفاظ بالتغيير أو التراجع.

تحديد أعباء العمل المخصصة وتحسينها

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

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

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