معلمات الخادم في قاعدة بيانات Azure ل MariaDB

توفر هذه المقالة اعتبارات وإرشادات لتكوين معلمات الخادم في قاعدة بيانات Azure ل MariaDB.

ما هي معلمات الخادم؟

يوفر محرك MariaDB العديد من متغيرات / معلمات الخادم المختلفة التي يمكن استخدامها لتكوين سلوك المحرك وضبطه. يمكن تعيين بعض المعلمات ديناميكيا أثناء وقت التشغيل بينما يكون البعض الآخر "ثابتا" ، مما يتطلب إعادة تشغيل الخادم من أجل التطبيق.

تعرض قاعدة بيانات Azure ل MariaDB القدرة على تغيير قيمة معلمات خادم MariaDB المختلفة باستخدام مدخل AzureوAzure CLIوPowerShell لمطابقة احتياجات عبء العمل الخاص بك.

معلمات الخادم القابلة للتكوين

قائمة معلمات الخادم المدعومة تنمو باستمرار. استخدم علامة التبويب معلمات الخادم في مدخل Azure لعرض القائمة الكاملة وتكوين قيم معلمات الخادم.

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

log_bin_trust_function_creators

في قاعدة بيانات Azure ل MariaDB، يتم تمكين السجلات الثنائية دائما (أي log_bin يتم تعيينها إلى ON). في حال كنت ترغب في استخدام المشغلات ، فستحصل على خطأ مشابه لك ليس لديك امتياز SUPER ويتم تمكين التسجيل الثنائي (قد ترغب في استخدام المتغير الأقل أمانا log_bin_trust_function_creators ).

تنسيق التسجيل الثنائي هو دائما ROW وجميع الاتصالات بالخادم تستخدم دائما التسجيل الثنائي المستند إلى الصف. مع التسجيل الثنائي المستند إلى الصفوف ، لا توجد مشكلات أمان ولا يمكن كسر التسجيل الثنائي ، بحيث يمكنك التعيين log_bin_trust_function_creators بأمان إلى TRUE.

innodb_buffer_pool_size

راجع وثائق MariaDB لمعرفة المزيد حول هذه المعلمة.

خوادم تدعم سعة تخزين تصل إلى 4 تيرابايت

⁩مستوى الأسعار⁧ vCore(s) القيمة الافتراضية (بايت) الحد الأدنى للقيمة (بايت) الحد الأقصى للقيمة (بايت)
أساسي 1 872415232 134217728 872415232
أساسي 2 2684354560 134217728 2684354560
General Purpose 2 3758096384 134217728 3758096384
General Purpose 4 8053063680 134217728 8053063680
General Purpose 8 16106127360 134217728 16106127360
General Purpose ⁧⁩16⁧⁩ 32749125632 134217728 32749125632
General Purpose 32 66035122176 134217728 66035122176
General Purpose ⁧⁩64⁧⁩ 132070244352 134217728 132070244352
مُحسّن للذاكرة 2 7516192768 134217728 7516192768
مُحسّن للذاكرة 4 16106127360 134217728 16106127360
مُحسّن للذاكرة 8 32212254720 134217728 32212254720
مُحسّن للذاكرة ⁧⁩16⁧⁩ 65498251264 134217728 65498251264
مُحسّن للذاكرة 32 132070244352 134217728 132070244352

تدعم الخوادم سعة تخزين تصل إلى 16 تيرابايت

⁩مستوى الأسعار⁧ vCore(s) القيمة الافتراضية (بايت) الحد الأدنى للقيمة (بايت) الحد الأقصى للقيمة (بايت)
أساسي 1 872415232 134217728 872415232
أساسي 2 2684354560 134217728 2684354560
General Purpose 2 7516192768 134217728 7516192768
General Purpose 4 16106127360 134217728 16106127360
General Purpose 8 32212254720 134217728 32212254720
General Purpose ⁧⁩16⁧⁩ 65498251264 134217728 65498251264
General Purpose 32 132070244352 134217728 132070244352
General Purpose ⁧⁩64⁧⁩ 264140488704 134217728 264140488704
مُحسّن للذاكرة 2 15032385536 134217728 15032385536
مُحسّن للذاكرة 4 32212254720 134217728 32212254720
مُحسّن للذاكرة 8 64424509440 134217728 64424509440
مُحسّن للذاكرة ⁧⁩16⁧⁩ 130996502528 134217728 130996502528
مُحسّن للذاكرة 32 264140488704 134217728 264140488704

innodb_file_per_table

ملاحظة

innodb_file_per_table لا يمكن تحديثها إلا في مستويات التسعير للأغراض العامة والذاكرة المحسنة.

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

تدعم قاعدة بيانات Azure ل MariaDB على نطاق أوسع، 1 تيرابايت، في ملف بيانات واحد. إذا كان حجم قاعدة البيانات أكبر من 1 تيرابايت، فيجب إنشاء الجدول في مساحة جدول innodb_file_per_table . إذا كان لديك جدول واحد بحجم أكبر من 1 تيرابايت، فيجب عليك استخدام جدول الأقسام.

join_buffer_size

راجع وثائق MariaDB لمعرفة المزيد حول هذه المعلمة.

⁩مستوى الأسعار⁧ vCore(s) القيمة الافتراضية (بايت) الحد الأدنى للقيمة (بايت) الحد الأقصى للقيمة (بايت)
أساسي 1 غير قابل للتكوين في الطبقة الأساسية غير متوفر غير متوفر
أساسي 2 غير قابل للتكوين في الطبقة الأساسية غير متوفر غير متوفر
General Purpose 2 262144 128 268435455
General Purpose 4 262144 128 536870912
General Purpose 8 262144 128 1073741824
General Purpose ⁧⁩16⁧⁩ 262144 128 2147483648
General Purpose 32 262144 128 4294967295
General Purpose ⁧⁩64⁧⁩ 262144 128 4294967295
مُحسّن للذاكرة 2 262144 128 536870912
مُحسّن للذاكرة 4 262144 128 1073741824
مُحسّن للذاكرة 8 262144 128 2147483648
مُحسّن للذاكرة ⁧⁩16⁧⁩ 262144 128 4294967295
مُحسّن للذاكرة 32 262144 128 4294967295

max_connections

⁩مستوى الأسعار⁧ vCore(s) القيمة الافتراضية أدنى قيمة أقصى قيمة
أساسي 1 50 10 50
أساسي 2 100 10 100
General Purpose 2 300 10 600
General Purpose 4 625 10 1250
General Purpose 8 1250 10 2500
General Purpose ⁧⁩16⁧⁩ 2500 10 5000
General Purpose 32 5000 10 ⁧⁩10000⁧⁩
General Purpose ⁧⁩64⁧⁩ 10000 10 20000
مُحسّن للذاكرة 2 625 10 1250
مُحسّن للذاكرة 4 1250 10 2500
مُحسّن للذاكرة 8 2500 10 5000
مُحسّن للذاكرة ⁧⁩16⁧⁩ 5000 10 ⁧⁩10000⁧⁩
مُحسّن للذاكرة 32 10000 10 20000

عندما تتجاوز الاتصالات الحد، قد تتلقى الخطأ التالي:

خطأ 1040 (08004): اتصالات كثيرة جدا

هام

للحصول على أفضل تجربة، نوصي باستخدام تجمع اتصالات مثل ProxySQL لإدارة الاتصالات بكفاءة.

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

ملاحظة

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

max_heap_table_size

راجع وثائق MariaDB لمعرفة المزيد حول هذه المعلمة.

⁩مستوى الأسعار⁧ vCore(s) القيمة الافتراضية (بايت) الحد الأدنى للقيمة (بايت) الحد الأقصى للقيمة (بايت)
أساسي 1 غير قابل للتكوين في الطبقة الأساسية غير متوفر غير متوفر
أساسي 2 غير قابل للتكوين في الطبقة الأساسية غير متوفر غير متوفر
General Purpose 2 16777216 16384 268435455
General Purpose 4 16777216 16384 536870912
General Purpose 8 16777216 16384 1073741824
General Purpose ⁧⁩16⁧⁩ 16777216 16384 2147483648
General Purpose 32 16777216 16384 4294967295
General Purpose ⁧⁩64⁧⁩ 16777216 16384 4294967295
مُحسّن للذاكرة 2 16777216 16384 536870912
مُحسّن للذاكرة 4 16777216 16384 1073741824
مُحسّن للذاكرة 8 16777216 16384 2147483648
مُحسّن للذاكرة ⁧⁩16⁧⁩ 16777216 16384 4294967295
مُحسّن للذاكرة 32 16777216 16384 4294967295

query_cache_size

يتم تمكين ذاكرة التخزين المؤقت للاستعلام افتراضيا في MariaDB باستخدام المعلمة have_query_cache .

راجع وثائق MariaDB لمعرفة المزيد حول هذه المعلمة.

⁩مستوى الأسعار⁧ vCore(s) القيمة الافتراضية (بايت) الحد الأدنى للقيمة (بايت) الحد الأقصى للقيمة (بايت)
أساسي 1 غير قابل للتكوين في الطبقة الأساسية غير متوفر غير متوفر
أساسي 2 غير قابل للتكوين في الطبقة الأساسية غير متوفر غير متوفر
General Purpose 2 0 0 16777216
General Purpose 4 0 0 33554432
General Purpose 8 0 0 67108864
General Purpose ⁧⁩16⁧⁩ 0 0 134217728
General Purpose 32 0 0 134217728
General Purpose ⁧⁩64⁧⁩ 0 0 134217728
مُحسّن للذاكرة 2 0 0 33554432
مُحسّن للذاكرة 4 0 0 67108864
مُحسّن للذاكرة 8 0 0 134217728
مُحسّن للذاكرة ⁧⁩16⁧⁩ 0 0 134217728
مُحسّن للذاكرة 32 0 0 134217728

sort_buffer_size

راجع وثائق MariaDB لمعرفة المزيد حول هذه المعلمة.

⁩مستوى الأسعار⁧ vCore(s) القيمة الافتراضية (بايت) الحد الأدنى للقيمة (بايت) الحد الأقصى للقيمة (بايت)
أساسي 1 غير قابل للتكوين في الطبقة الأساسية غير متوفر غير متوفر
أساسي 2 غير قابل للتكوين في الطبقة الأساسية غير متوفر غير متوفر
General Purpose 2 524288 32768 4194304
General Purpose 4 524288 32768 8388608
General Purpose 8 524288 32768 16777216
General Purpose ⁧⁩16⁧⁩ 524288 32768 33554432
General Purpose 32 524288 32768 33554432
General Purpose ⁧⁩64⁧⁩ 524288 32768 33554432
مُحسّن للذاكرة 2 524288 32768 8388608
مُحسّن للذاكرة 4 524288 32768 16777216
مُحسّن للذاكرة 8 524288 32768 33554432
مُحسّن للذاكرة ⁧⁩16⁧⁩ 524288 32768 33554432
مُحسّن للذاكرة 32 524288 32768 33554432

tmp_table_size

راجع وثائق MariaDB لمعرفة المزيد حول هذه المعلمة.

⁩مستوى الأسعار⁧ vCore(s) القيمة الافتراضية (بايت) الحد الأدنى للقيمة (بايت) الحد الأقصى للقيمة (بايت)
أساسي 1 غير قابل للتكوين في الطبقة الأساسية غير متوفر غير متوفر
أساسي 2 غير قابل للتكوين في الطبقة الأساسية غير متوفر غير متوفر
General Purpose 2 16777216 1024 67108864
General Purpose 4 16777216 1024 134217728
General Purpose 8 16777216 1024 268435456
General Purpose ⁧⁩16⁧⁩ 16777216 1024 536870912
General Purpose 32 16777216 1024 1073741824
General Purpose ⁧⁩64⁧⁩ 16777216 1024 1073741824
مُحسّن للذاكرة 2 16777216 1024 134217728
مُحسّن للذاكرة 4 16777216 1024 268435456
مُحسّن للذاكرة 8 16777216 1024 536870912
مُحسّن للذاكرة ⁧⁩16⁧⁩ 16777216 1024 1073741824
مُحسّن للذاكرة 32 16777216 1024 1073741824

time_zone

عند النشر الأولي، يتضمن Azure لخادم MariaDB جداول أنظمة لمعلومات المنطقة الزمنية، ولكن لا يتم تعبئة هذه الجداول. يمكن ملء جداول المنطقة الزمنية عن طريق استدعاء الإجراء المخزن mysql.az_load_timezone من أداة مثل سطر الأوامر MySQL أو MySQL Workbench. راجع مقالات مدخل Azure أو Azure CLI لمعرفة كيفية استدعاء الإجراء المخزن وتعيين المناطق الزمنية العمومية أو على مستوى جلسة العمل.

معلمات الخادم غير القابلة للتكوين

معلمات الخادم أدناه غير قابلة للتكوين في الخدمة:

المعلمة قيمة ثابتة
innodb_file_per_table في المستوى الأساسي إيقاف التشغيل
innodb_flush_log_at_trx_commit 1
sync_binlog 1
innodb_log_file_size 256 ميغابايت
innodb_log_files_in_group 2

يتم تعيين معلمات الخادم الأخرى غير المدرجة هنا إلى القيم الافتراضية الجاهزة ل MariaDB الخاصة بها ل MariaDB.

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