معلمات الخادم في قاعدة بيانات 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.
الخطوات التالية
- تعرف على كيفية تكوين معلمات القطع باستخدام مدخل Azure
- تعرف على كيفية تكوين معلمات القطع باستخدام Azure CLI
- تعرف على كيفية تكوين معلمات القطع باستخدام PowerShell