قم بإجراء ضبط ذكي في 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_target
max_wal_size
و و.min_wal_size
من خلال القيام بذلك، فإنه يعزز أداء النظام والموثوقية، حتى في ظل أحمال الكتابة العالية.
عند استخدام الضبط الذكي، يمكنك توفير الوقت والموارد القيمة من خلال الاعتماد على قاعدة بيانات Azure لخادم PostgreSQL المرن للحفاظ على الأداء الأمثل لقواعد البيانات الخاصة بك.
كيف يعمل الضبط الذكي؟
الضبط الذكي هو عملية مراقبة وتحليل مستمرة لا تتعرف فقط على خصائص حمل العمل الخاص بك ولكن أيضا تتعقب الحمل الحالي واستخدام الموارد، مثل CPU أو IOPS. لا يزعج العمليات العادية لحمل عمل التطبيق الخاص بك.
تسمح العملية لقاعدة البيانات بالتكيف ديناميكيا مع حمل العمل الخاص بك من خلال تمييز نسبة الطفو الحالية وأداء الكتابة وكفاءة نقطة التحقق على المثيل الخاص بك. باستخدام هذه الرؤى، يقوم الضبط الذكي بتوزيع إجراءات الضبط التي تعزز أداء حمل العمل الخاص بك وتجنب الثغرات المحتملة.
ضبط الإخلاء التلقائي
يضبط الضبط الذكي خمس معلمات تتعلق بالإخلاء التلقائي: autovacuum_vacuum_scale_factor
و autovacuum_vacuum_threshold
autovacuum_cost_limit
autovacuum_naptime
و.autovacuum_vacuum_cost_delay
تنظم هذه المعلمات مكونات مثل:
- جزء الجدول الذي يقوم بإيقاف
VACUUM
عملية. - حد تأخير الفراغ القائم على التكلفة.
- الفاصل الزمني للإيقاف المؤقت بين تشغيل الإخلاء التلقائي.
- الحد الأدنى لعدد المجموعات المحدثة أو الميتة اللازمة لبدء
VACUUM
عملية. - مدة الإيقاف المؤقت بين جولات التنظيف.
هام
يعدل الضبط الذكي المعلمات المتعلقة بالإخلاء التلقائي على مستوى الخادم، وليس على مستويات الجدول الفردية. أيضا، إذا تم إيقاف تشغيل الإخلاء التلقائي، فلا يمكن أن يعمل الضبط الذكي بشكل صحيح. للضبط الذكي لتحسين العملية، يجب تمكين ميزة الإخلاء التلقائي.
على الرغم من أن البرنامج الخفي للإخلاء التلقائي يؤدي إلى عمليتين (VACUUM
و ANALYZE
)، إلا أن الضبط الذكي يضبط العملية فقط VACUUM
. لا تقوم هذه الميزة حاليا بضبط ANALYZE
العملية، والتي تجمع الإحصائيات على محتويات الجدول لمساعدة قاعدة بيانات Azure لمخطط استعلام الخادم المرن PostgreSQL على اختيار خطة تنفيذ الاستعلام الأكثر ملاءمة.
يتضمن الضبط الذكي ضمانات لقياس استخدام الموارد مثل CPU وIOOPS. لن يزيد نشاط الإخلاء التلقائي عندما يكون المثيل الخاص بك تحت حمولة ثقيلة. بهذه الطريقة، يضمن الضبط الذكي التوازن بين عمليات التنظيف الفعالة والأداء العام لنظامك.
عندما يعمل الضبط الذكي على تحسين الإخلاء التلقائي، فإنه يأخذ في الاعتبار متوسط انتفاخ الخادم باستخدام إحصائيات حول المجموعات الحية والمميتة. لتقليل الانتفاض، قد يقلل الضبط الذكي من المعلمات مثل عامل المقياس أو وقت النضوب. قد يؤدي ذلك إلى VACUUM
بدء العملية في وقت أقرب، وإذا لزم الأمر، تقليل التأخير بين الجولات.
من ناحية أخرى، إذا كان الطفو ضئيلا وكانت عملية الإخلاء التلقائي عدوانية جدا، فقد يؤدي الضبط الذكي إلى زيادة المعلمات مثل التأخير وعامل المقياس والنفوة. يقلل هذا الرصيد من الانتفاخ ويساعد على ضمان أن عملية الإخلاء التلقائي تستخدم الموارد بكفاءة.
ضبط الكتابة
يضبط الضبط الذكي أربع معلمات تتعلق بضبط الكتابة: bgwriter_delay
و checkpoint_completion_target
max_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. طبقة حساب الخادم القابل للاندفاع غير مدعومة.
الخطوات التالية
- تكوين الضبط الذكي لقاعدة بيانات Azure ل PostgreSQL - الخادم المرن باستخدام مدخل Microsoft Azure
- تكوين الضبط الذكي لقاعدة بيانات Azure ل PostgreSQL - الخادم المرن باستخدام Azure CLI
- أدلة استكشاف الأخطاء وإصلاحها لقاعدة بيانات Azure ل PostgreSQL - خادم مرن
- الضبط التلقائي في قاعدة بيانات Azure ل PostgreSQL - الخادم المرن
- استكشاف أخطاء استخدام IOPS العالي لقاعدة بيانات Azure ل PostgreSQL - الخادم المرن وإصلاحها
- أفضل الممارسات لتحميل البيانات بشكل مجمع في قاعدة بيانات Azure ل PostgreSQL - خادم مرن
- استكشاف أخطاء الاستخدام العالي لوحدة المعالجة المركزية في قاعدة بيانات Azure ل PostgreSQL - الخادم المرن وإصلاحها
- Query Performance Insight لقاعدة بيانات Azure ل PostgreSQL - خادم مرن