قم بإجراء ضبط ذكي في Azure Database for PostgreSQL- خادم Flexible Server

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

يحتوي خادم Azure Database for PostgreSQL المرن على ميزة ضبط ذكية مصممة لتحسين الأداء تلقائيا والمساعدة في منع المشكلات. يراقب الضبط الذكي باستمرار حالة قاعدة بيانات الخادم المرن ل Azure Database for PostgreSQL ويكيف قاعدة البيانات ديناميكيا مع حمل العمل الخاص بك.

تتكون هذه الميزة من دالتين للضبط التلقائي:

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

يمكنك تمكين الضبط الذكي باستخدام مدخل Azure أو Azure CLI.

لماذا الضبط الذكي؟

تعد عملية الإخلاء التلقائي جزءا مهما من الحفاظ على صحة وأداء قاعدة بيانات خادم مرنة ل Azure Database for PostgreSQL. يساعد على استعادة التخزين الذي تشغله الصفوف "الميتة"، وتحرير مساحة والحفاظ على تشغيل قاعدة البيانات بسلاسة.

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

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

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

تلاحظ دالة ضبط الكتابة الكمية وأنماط المعاملات لعمليات الكتابة. يقوم بضبط المعلمات بذكاء مثل bgwriter_delayو checkpoint_completion_targetmax_wal_sizeو و.min_wal_size من خلال القيام بذلك، فإنه يعزز أداء النظام والموثوقية، حتى في ظل أحمال الكتابة العالية.

عند استخدام الضبط الذكي، يمكنك توفير الوقت والموارد القيمة من خلال الاعتماد على قاعدة بيانات Azure لخادم PostgreSQL المرن للحفاظ على الأداء الأمثل لقواعد البيانات الخاصة بك.

كيف يعمل الضبط الذكي؟

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

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

ضبط الإخلاء التلقائي

يضبط الضبط الذكي خمس معلمات تتعلق بالإخلاء التلقائي: autovacuum_vacuum_scale_factorو autovacuum_vacuum_thresholdautovacuum_cost_limitautovacuum_naptimeو.autovacuum_vacuum_cost_delay تنظم هذه المعلمات مكونات مثل:

  • جزء الجدول الذي يقوم بإيقاف VACUUM عملية.
  • حد تأخير الفراغ القائم على التكلفة.
  • الفاصل الزمني للإيقاف المؤقت بين تشغيل الإخلاء التلقائي.
  • الحد الأدنى لعدد المجموعات المحدثة أو الميتة اللازمة لبدء VACUUM عملية.
  • مدة الإيقاف المؤقت بين جولات التنظيف.

هام

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

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

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

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

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

ضبط الكتابة

يضبط الضبط الذكي أربع معلمات تتعلق بضبط الكتابة: bgwriter_delayو checkpoint_completion_targetmax_wal_sizeو وmin_wal_size.

bgwriter_delay تحدد المعلمة التردد الذي يتم فيه استيقاظ عملية كاتب الخلفية لتنظيف المخازن المؤقتة "القذرة" (المخازن المؤقتة الجديدة أو المعدلة). عملية كاتب الخلفية هي واحدة من ثلاث عمليات في قاعدة بيانات Azure لخادم PostgreSQL المرن الذي يعالج عمليات الكتابة. والآخر هو عملية نقطة التحقق والكتابة الخلفية (عمليات العميل القياسية، مثل اتصالات التطبيق).

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

checkpoint_completion_target المعلمة هي جزء من آلية الكتابة الثانية التي يدعمها خادم Azure Database for PostgreSQL المرن، وتحديدا عملية نقطة التحقق. تحدث نقاط التحقق على فواصل زمنية checkpoint_timeout ثابتة تحدد (ما لم يتم فرضها بتجاوز المساحة المكونة). لتجنب التحميل الزائد لنظام الإدخال/الإخراج مع زيادة في عمليات كتابة الصفحة، يتم توزيع كتابة المخازن المؤقتة القذرة أثناء نقطة التحقق على مدى فترة زمنية. تتحكم المعلمة checkpoint_completion_target في هذه المدة باستخدام checkpoint_timeout لتحديد المدة ككسر من الفاصل الزمني لنقطة التحقق.

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

القيود والمشاكل المعروفة

  • يقوم الضبط الذكي بإجراء تحسينات فقط في نطاقات محددة. من المحتمل ألا تُجري الميزة أي تغييرات.
  • لا يقوم الضبط الذكي بضبط ANALYZE الإعدادات.
  • الضبط التلقائي مدعوم حاليا لطبقات حساب الخادم للأغراض العامة والذاكرة المحسنة التي تحتوي على أربعة أو أكثر من vCores. طبقة حساب الخادم القابل للاندفاع غير مدعومة.

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