التخزين: أفضل ممارسات الأداء لـ SQL Server على أجهزة Azure الظاهرية

ينطبق على: Microsoft SQL Server على Azure VM

توفر هذه المقالة أفضل ممارسات التخزين وإرشاداته لتحسين أداء SQL Server على أجهزة Azure الظاهرية (VMs).

هناك عادةً مفاضلة بين تحسين التكاليف وتحسين الأداء. تركز سلسلة أفضل الممارسات على الحصول على ⁧⁩أفضل⁧⁩ أداء لـ Microsoft SQL Server على VM Azure. إذا كان حمل عملك أقل تطلبًا، فقد لا تحتاج إلى كل تحسين موصى به. خذ بعين الاعتبار احتياجات الأداء والتكاليف وأنماط حمل العمل أثناء تقييم هذه التوصيات.

لمعرفة المزيد، راجع المقالات الأخرى في هذه السلسلة: قائمة التحقق و حجم الجهاز الظاهري و الأمان و تكوين HADR و تجميع الأساس .

قائمة الاختيار

راجع قائمة التحقق التالية للحصول على نظرة عامة موجزة عن أفضل ممارسات التخزين التي تغطيها بقية المقالة بمزيد من التفصيل:

  • مراقبة التطبيق وتحديد متطلبات النطاق الترددي وزمن الانتقال للتخزين لبيانات SQL Server، والسجل وملفات tempdb قبل اختيار نوع القرص.
  • لتحسين أداء التخزين، قم بالتخطيط لأعلى IOPS غير المخزن مؤقتًا المتاح واستخدم التخزين المؤقت للبيانات كميزة أداء لقراءات البيانات مع تجنب الحد الأقصى للأجهزة الافتراضية والأقراص.
  • وضع البيانات والسجل وملفات tempdb على محركات أقراص منفصلة.
    • بالنسبة لمحرك البيانات، استخدم فقط أقراص P30 وP40 المتميزة أو أقراص أصغر لضمان توفر دعم ذاكرة التخزين المؤقت
    • لخطة محرك السجل للقدرة واختبار الأداء مقابل التكلفة أثناء تقييم أقراص P30 - P80 المتميزة
      • إذا كان زمن انتقال التخزين من submillisecond مطلوباً، فاستخدم أقراص Azure فائقة لسجل المعاملات.
      • بالنسبة إلى عمليات نشر الجهاز الظاهري من سلسلة M، ضع في اعتبارك Write Accelerator باستخدام أقراص Azure الفائقة.
    • ضع tempdb على محرك أقراص SSD المحلي المؤقت (افتراضي D:\) لمعظم أحمال عمل SQL Server التي لا تعد جزءاً من مثيل Failover Cluster Instance (FCI) بعد اختيار الحجم الأمثل للجهاز الظاهري.
    • لـ FCI، ضع tempdb على التخزين المتشارك.
      • إذا كان حمل عمل FCI يعتمد بشكل كبير على أداء قرص tempdb، فحينئذٍ، كإعداد متقدم، ضع tempdb على محرك أقراص ذي حالة صلبة (SSD) سريع الزوال (افتراضي D:\) والذي لا يعد جزءاً من تخزين FCI. سيحتاج هذا التكوين إلى مراقبة وإجراءات مخصصة لضمان توفر محرك SSD المؤقت (الافتراضي D:\) طوال الوقت لأن أي فشل في محرك الأقراص هذا لن يؤدي إلى تشغيل إجراء من FCI.
  • قم بتخطيط أقراص بيانات Azure المتعددة باستخدام مساحات التخزين لزيادة النطاق الترددي I/O حتى حدود IOPS ومعدل النقل للجهاز الظاهري المستهدف.
  • تعيين التخزين المؤقت للمضيف للقراءة فقط لأقراص ملفات البيانات.
  • تعيين التخزين المؤقت المضيف إلى لا شيء لأقراص ملفات السجل.
    • لا تُمكِّن التخزين المؤقت للقراءة/الكتابة على الأقراص التي تحتوي على بيانات Microsoft SQL Server أو ملفات السجل.
    • أوقف خدمة SQL Server دوماً قبل تغيير إعدادات ذاكرة التخزين المؤقت للقرص.
  • لتطوير واختبار أحمال العمل وأرشفة النسخ الاحتياطي طويلة المدى، ضع في اعتبارك استخدام التخزين القياسي. لا ينصح باستخدام محركات الأقراص الصلبة HDD/SDD القياسية لأحمال العمل الإنتاجية.
  • يجب أن يتم النظر فقط في اندفاع القرص المستند إلى الرصيد (P1-P20) لأحمال العمل الصغيرة dev/test وأنظمة الإدارات.
  • قم بتهيئة قرص البيانات لاستخدام حجم كتلة 64 كيلوبايت (حجم وحدة التخصيص) لجميع ملفات البيانات الموضوعة على محرك أقراص بخلاف محرك الأقراص المؤقت D:\ (الذي يبلغ افتراضيًا 4 كيلوبايت). تأتي أجهزة SQL Server VM المنشورة من خلال Azure Marketplace مزودة بأقراص بيانات منسقة بحجم كتلة وتتداخل مع مجموعة التخزين التي تم تعيينها على 64 كيلو بايت.

لمقارنة القائمة المرجعية للتخزين مع القوائم الأخرى، راجع القائمة المرجعية الشاملة ⁦⁩لأفضل ممارسات الأداء⁦⁩.

نظرة عامة

للعثور على التكوين الأكثر فعالية لأحمال العمل SQL Server على جهاز Azure VM، ابدأ بقياس أداء التخزين لتطبيق عملك. بمجرد معرفة متطلبات التخزين، حدد جهازًا افتراضيًا يدعم IOPS ومعدل النقل اللازم مع نسبة الذاكرة إلى vCore المناسبة.

اختر حجم الجهاز الظاهري مع قابلية توسعة تخزين كافية لحمل العمل الخاص بك ومزيج من الأقراص (عادةً في مجموعة تخزين) التي تلبي متطلبات السعة والأداء لعملك.

يعتمد نوع القرص على نوع الملف المستضاف على القرص ومتطلبات الأداء القصوى.

تلميح

يساعد توفير SQL Server VM من خلال مدخل Azure في إرشادك خلال عملية تكوين التخزين وتنفيذ أفضل ممارسات التخزين مثل إنشاء مجموعات تخزين منفصلة لبياناتك وملفات السجل، واستهداف tempdb لمحرك الأقراص D:\، وتمكين نهج التخزين المؤقت الأمثل. لمزيد من المعلومات حول توفير التخزين وتكوينه، راجع تكوين تخزين الجهاز الظاهري لـ SQL.

أنواع أقراص الأجهزة الظاهرية

لديك خيار في مستوى الأداء للأقراص الخاصة بك. أنواع الأقراص المُدارة المتاحة كتخزين أساسي (مُدرجة من خلال زيادة قدرات الأداء) هي محركات الأقراص الثابتة القياسية (HDD) ومحركات الأقراص الثابتة القياسية ومحركات الأقراص ذات الحالة الصلبة المتميزة (SSD) والأقراص فائقة الدقة.

يزداد أداء القرص مع السعة المجمعة حسب ملصقات الأقراص المتميزة مثل P1 بمساحة 4 جيجابايت و 120 IOPS إلى P80 مع 32 تيرابايت للتخزين و 20000 IOPS. يدعم التخزين المتميز ذاكرة التخزين المؤقت التي تساعد على تحسين أداء القراءة والكتابة لبعض أحمال العمل. لمزيد من المعلومات، راجع نظرة عامة على الأقراص المُدارة.

هناك أيضاً ثلاثة أنواع رئيسية من الأقراص يجب مراعاتها في Microsoft SQL Server على Azure VM - وهي قرص نظام التشغيل، والقرص المؤقت، وأقراص البيانات الخاصة بك. اختر بعناية ما يتم تخزينه على محرك نظام التشغيل (C:\)ومحرك الأقراص المؤقت والسريع الزوال(D:\).

قرص نظام التشغيل

قرص نظام التشغيل هو VHD يمكن تمهيده وتركيبه على أنه إصدار قيد التشغيل من نظام التشغيل ويتم تسميته بمحرك الأقراص C:\. عند إنشاء جهاز Azure الظاهري سيقوم النظام الأساسي بإرفاق قرص واحد على الأقل بالجهاز الظاهري لقرص نظام التشغيل. محرك الأقراص C:\ هو الموقع الافتراضي لعمليات تثبيت التطبيق وتكوين الملف.

بالنسبة لبيئات SQL Server للإنتاج، لا تستخدم قرص نظام التشغيل لملفات البيانات وملفات السجل وسجلات الأخطاء.

قرص مؤقت

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

لا يتم الاحتفاظ بمحرك التخزين المؤقت في التخزين البعيد وبالتالي لا يجب تخزين ملفات قاعدة بيانات المستخدم أو ملفات سجل العمليات أو أي شيء يجب حفظه.

ضع tempdb على محرك الأقراص SSD D:\ المؤقت المحلي لأحمال عمل SQL Server ما لم يكن استهلاك ذاكرة التخزين المؤقت المحلية مصدر قلق. إذا كنت تستخدم جهازًا ظاهريًا لا يحتوي على قرص مؤقت، فمن المستحسن وضع tempdb على القرص المعزول الخاص به أو تجمع التخزين مع تعيين التخزين المؤقت للقراءة فقط. لمعرفة المزيد، راجع نهج التخزين المؤقت لبيانات tempdb.

أقراص البيانات

أقراص البيانات هي أقراص تخزين عن بعد يتم إنشاؤها غالبًا في تجمعات التخزين لتتجاوز السعة والأداء اللذين يمكن لأي قرص منفرد أن يقدمه للجهاز الظاهري.

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

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

تنسيق قرص البيانات لاستخدام حجم وحدة تخصيص 64 كيلوبايت لجميع ملفات البيانات الموضوعة على محرك أقراص آخر غير محرك الأقراص المؤقت D:\ (الذي يحتوي على سعة افتراضية 4 كيلوبايت). تأتي الأجهزة الظاهرية SQL Server المنشورة عبر Azure Marketplace مع أقراص بيانات منسقة بحجم وحدة التخصيص وتداخل مجموعة التخزين التي تم تعيينها إلى 64 كيلوبايت.

ملاحظة

من الممكن أيضا استضافة ملفات قاعدة البيانات SQL Server مباشرة على تخزين Azure Blob أو على تخزين SMB مثل مشاركة الملفات المميزة Azure، ولكننا نوصي باستخدام الأقراص المدارة Azureوذلك للحصول على أفضل أداء وموثوقية وتوافر ميزات.

الأقراص المميزة

استخدم أقراص SSD المتميزة للبيانات وملفات السجل لأحمال عمل SQL Server الإنتاجية. يختلف عرض النطاق الترددي SSD Premium SSD بناءً على حجم القرص ونوعه.

لأحمال عمل الإنتاج، استخدم أقراص P30 و / أو P40 لملفات بيانات SQL Server لضمان دعم التخزين المؤقت واستخدام P30 حتى P80 لملفات سجل معاملات SQL Server. للحصول على أفضل تكلفة إجمالية للملكية، ابدأ بـ P30s (5000 IOPS / 200 MBPS) للبيانات وملفات السجل واختر فقط السعات الأعلى عندما تحتاج إلى التحكم في عدد أقراص الجهاز الظاهري.

بالنسبة لأحمال العمل في OLTP، يمكنك مطابقة IOPS الهدف لكل قرص (أو تجمع تخزين) مع متطلبات الأداء باستخدام أحمال العمل في أوقات الذروة Disk Reads/sec + Disk Writes/sec وعدّادات الأداء. بالنسبة لمستودع البيانات وتقارير أحمال العمل، طابق معدل النقل المستهدف باستخدام أحمال العمل في أوقات الذروة و Disk Read Bytes/sec + Disk Write Bytes/sec.

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

IOPS المقدم ومعدل النقل لكل قرص والتي يتم استخدامها كجزء من مجموعة التخزين الخاصة بك. تعد إمكانات IOPS المدمجة ومعدل النقل للأقراص هي الحد الأقصى للقدرة حتى حدود الإنتاجية للجهاز الظاهري.

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

تحجيم الأقراص المتميزة

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

يتيح تغيير مستوى الأداء للمسؤولين الاستعداد وتلبية الطلب الأعلى دون الاعتماد على انفجار القرص.

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

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

لمزيد من المعلومات، راجع مستويات الأداء للأقراص المُدارة .

قرص Azure Ultra

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

يمكن تكوين القرص Ultra حيث يمكن قياس السعة و IOPS بشكل مستقل. يمكن لمسؤولي القرص الفائق توفير قرص بسعة IOPS ومتطلبات معدل النقل بناءً على احتياجات التطبيق.

قرص Ultra غير مدعوم على جميع سلاسل الجهاز الظاهري وله قيود أخرى مثل توفر المنطقة والتكرار ودعم Azure Backup. لمعرفة المزيد، راجع استخدام أقراص Azure ultra للحصول على قائمة كاملة بالقيود.

محركات الأقراص الثابتة ومحركات الأقراص الثابتة القياسية

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

تخزين مؤقت

يمكن للأجهزة الافتراضية التي تدعم التخزين المؤقت للتخزين المتميز الاستفادة من ميزة إضافية تسمى Azure BlobCache أو التخزين المؤقت للمضيف لتوسيع قدرات IOPS ومعدل النقل لجهاز ظاهري. تحتوي الأجهزة الظاهرية التي تم تمكينها لكل من التخزين المتميز والتخزين المؤقت للتخزين المتميز على حدين مختلفين لعرض النطاق الترددي للتخزين يمكن استخدامهما معًا لتحسين أداء التخزين.

يتم احتساب سرعة النقل IOPS و MBps بدون تخزين مؤقت مقابل حدود معدل نقل القرص غير المخزن مؤقتًا لجهاز ظاهري. توفر الحدود القصوى المخزنة مؤقتًا مخزنًا مؤقتًا إضافيًا للقراءات التي تساعد في معالجة النمو والقمم غير المتوقعة.

وبتمكين التخزين المؤقت المتميز عندما يكون الخيار مدعومًا لتحسين الأداء بشكل ملحوظ للقراءات مقابل محرك البيانات دون تكلفة إضافية.

لا يتم احتساب عمليات القراءة والكتابة إلى Azure BlobCache (IOPS والإنتاجية المخزنة مؤقتًا) مقابل IOPS غير المخزن مؤقتًا وحدود معدل النقل للجهاز الظاهري.

ملاحظة

التخزين المؤقت على القرص غير مدعوم للأقراص 4 تي بايت وأكبر (P50 وأكبر). إذا تم توصيل عدة أقراص بجهاز ظاهري خاص بك، فسوف يدعم كل قرص أصغر من 4 تيرا بايت التخزين المؤقت. لمزيد من المعلومات، انظر أقراص التخزين المؤقت.

معدل النقل غير المخزن مؤقتًا

الحد الأقصى لمعدل نقل عمليات الإدخال والإخراج في الثانية للقرص غير المخزن هو الحد الأقصى للتخزين عن بعد الذي يمكن للجهاز الظاهري التعامل معه. يتم تحديد هذا الحد على الجهاز الظاهري وليس حدًا لتخزين القرص الأساسي. ينطبق هذا الحد فقط على الإدخال / الإخراج مقابل محركات أقراص البيانات المتصلة عن بعد بالجهاز الظاهري، وليس الإدخال / الإخراج المحلي مقابل محرك الأقراص المؤقت (محرك D:\) أو محرك نظام التشغيل.

يمكن التحقق من مقدار IOPS غير المخزن مؤقتًا ومعدل النقل المتوفر لجهاز ظاهري في الوثائق الخاصة بجهازك الظاهري.

على سبيل المثال، توضح وثائق M-series أن الحد الأقصى للإنتاجية غير المخزنة مؤقتًا لـ Standard_M8ms VM هو 5000 IOPS و 125 ميجابايت في الثانية من معدل نقل القرص غير المخزن مؤقتًا.

Screenshot showing M-series uncached disk throughput documentation.

وبالمثل، يمكنك أن ترى أن Standard_M32ts يدعم 20000 IOPS للقرص غير المخزن و 500 ميجابايت في الثانية لمعدل نقل القرص غير المخزن مؤقتًا. يتم التحكم في هذا الحد على مستوى الجهاز الظاهري بغض النظر عن تخزين القرص المميز الأساسي.

لمزيد من المعلومات، راجع الحدود غير المخزنة مؤقتًا والمخزنة مؤقتًا .

معدل نقل ذاكرة التخزين المؤقت والتخزين المؤقت

الحد الأقصى لمعدل نقل التخزين المؤقت والتخزين المؤقت هو حد منفصل عن حد معدل نقل التخزين غير المؤقت على الجهاز الظاهري. يتكون Azure BlobCache من مجموعة من ذاكرة الوصول العشوائي لمضيف الجهاز الظاهري ومحرك أقراص الحالة الصلبة المرفق محليًا. يتم أيضًا استضافة محرك الأقراص المؤقت (محرك D:\) داخل الجهاز الظاهري على محرك أقراص الحالة الصلبة المحلي هذا.

يتحكم الحد الأقصى لمعدل نقل سعة التخزين المؤقت وذاكرة التخزين المؤقت في الإدخال / الإخراج مقابل محرك الأقراص المؤقت المحلي (محرك D:\) و Azure BlobCache فقط إذا تم تمكين التخزين المؤقت للمضيف.

عند تمكين التخزين المؤقت في وحدة التخزين المتميزة، يمكن للأجهزة الافتراضية توسيع نطاق حدود التخزين عن بُعد غير المخزن مؤقتًا للأجهزة الظاهرية IOPS وحدود معدل النقل.

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

Screenshot showing M-Series Premium Storage support.

ستختلف حدود ذاكرة التخزين المؤقت بناءً على حجم الجهاز الظاهري. على سبيل المثال، يدعم Standard_M8ms VM 10000 قرص مخبأ IOPS و 1000 ميجابايت في الثانية بمعدل نقل سعة تخزين مؤقت بحجم إجمالي يبلغ 793 جيجابايت. وبالمثل، يدعم Standard_M32ts VM 40000 IOPS للقرص المخزن مؤقتًا ومعدل نقل 400 ميجابت في الثانية من ذاكرة التخزين المؤقت بحجم إجمالي يبلغ 3174 جيجا بايت.

Screenshot showing M-series cached disk throughput documentation.

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

نهج التخزين المؤقت لملف البيانات

يختلف نهج التخزين المؤقت الخاص بك استنادًا إلى نوع ملفات البيانات SQL Server التي يتم استضافتها على محرك الأقراص.

يوفر الجدول التالي ملخصًا لنهج التخزين المؤقت الموصى به استنادًا إلى نوع البيانات SQL Server:

قرص SQL Server التوصية
قرص البيانات تمكين Read-only التخزين المؤقت للأقراص التي تستضيف ملفات البيانات SQL Server.
ستكون القراءات من ذاكرة التخزين المؤقت أسرع من القراءات غير المخزنة مؤقتًا من قرص البيانات.
سيؤدي IOPS غير المخزن مؤقتًا ومعدل النقل بالإضافة إلى IOPS المخزن مؤقتًا والإنتاجية إلى إجمالي الأداء الممكن المتاح من الجهاز الظاهري ضمن حدود الأجهزة الظاهرية، لكن الأداء الفعلي سيختلف بناءً على قدرة حمل العمل على استخدام ذاكرة التخزين المؤقت (نسبة عدد مرات الدخول إلى ذاكرة التخزين المؤقت).
قرص سجل المعاملات قم بتعيين نهج التخزين المؤقت على None للأقراص التي تستضيف سجل المعاملات. لا توجد فائدة أداء لتمكين التخزين المؤقت لقرص سجل المعاملات، وفي الواقع، يمكن أن يؤدي تمكين التخزين المؤقت Read-only أو Read/Write تمكين التخزين المؤقت على محرك أقراص السجل إلى تدهور أداء عمليات الكتابة على محرك الأقراص وتقليل مقدار ذاكرة التخزين المؤقت المتوفرة للقراءات على محرك البيانات.
قرص نظام التشغيل سياسة التخزين المؤقت الافتراضية هي Read/write لمحرك أقراص نظام التشغيل.
لا يوصى بتغيير مستوى التخزين المؤقت لمحرك نظام التشغيل.
tempdb إذا تعذر وضع tempdb على محرك الأقراص سريع الزوال D:\لأسباب تتعلق بالسعة، فقم إما بتغيير حجم الجهاز الظاهري للحصول على محرك أقراص مؤقت أكبر أو ضع tempdb على محرك بيانات منفصل مع تكوين ذاكرة التخزين المؤقتRead-only.
يستخدم كل من ذاكرة التخزين المؤقت للجهاز الظاهري ومحرك الأقراص المؤقتة SSD المحلي، لذا ضع ذلك في الاعتبار عند التحجيم لأن tempdb I / O سيحسب ضد IOPS المخزن مؤقتًا ومعدل نقل حدود الجهاز الظاهري عند استضافته على محرك سريع الزوال.

هام

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

لمعرفة المزيد، راجع التخزين المؤقت للقرص.

تقسيم الأقراص

قم بتحليل معدل نقل البيانات وعرض النطاق الترددي المطلوب لملفات بيانات SQL لتحديد عدد أقراص البيانات، بما في ذلك ملف السجل و tempdb. تختلف حدود معدل النقل والنطاق الترددي باختلاف حجم الجهاز الظاهري. لمعرفة المزيد، راجع حجم الجهاز الظاهري

أضف أقراص بيانات إضافية واستخدم تقسيم القرص لمزيد من معدل النقل. على سبيل المثال، يمكن للتطبيق الذي يحتاج إلى معدل نقل 12000 IOPS و 180 ميجابايت / ثانية أن يستخدم ثلاثة أقراص P30 مخططة لتوصيل 15000 IOPS ومعدل نقل 600 ميجابايت / ثانية.

لتهيئة تقسيم القرص، راجع تقسيم القرص.

الحد الأقصى للقرص

هناك حدود لمعدل النقل على كل من مستوى القرص والجهاز الظاهري. تختلف حدود IOPS القصوى لكل جهاز ظاهري ولكل قرص وهي مستقلة عن بعضها البعض.

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

على سبيل المثال، يمكن للتطبيق الذي يحتاج إلى 12000 IOPS و 180 ميجابايت / ثانية:

  • استخدم Standard_M32ms الذي يبلغ الحد الأقصى لمعدل نقل القرص غير المخزن مؤقتًا 20000 IOPS و 500 ميجابايت في الثانية.
  • ثلاثة أشرطة P30 لتقديم بمعدل نقل 15000 IOPS و 600 ميجابايت / ثانية.
  • استخدم الجهاز الظاهري Standard_M16ms واستخدم التخزين المؤقت للمضيف للاستفادة من ذاكرة التخزين المؤقت المحلية على استهلاك معدل النقل.

يجب أن توفر الأجهزة الظاهري التي تم تكوينها لتوسيع نطاقها خلال أوقات الاستخدام العالي مساحة تخزين كافية IOPS ومعدل النقل لدعم الحد الأقصى لحجم الجهاز الظاهري مع الحفاظ على العدد الإجمالي للأقراص أقل من أو يساوي الحد الأقصى للعدد الذي يدعمه أصغر جهاز ظاهري SKU مستهدف لاستخدامه.

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

ملاحظة

قد تستمر بعض عمليات وضع الحد الأقصى على القرص في تحقيق أداء مرضٍ للمستخدمين؛ وضبط أعباء العمل والحفاظ عليها بدلاً من تغيير حجمها إلى جهاز ظاهري أكبر لموازنة إدارة التكلفة والأداء للأعمال.

Write Acceleration

Write Acceleration هي إحدى ميزات القرص المتوفرة فقط للأجهزة الظاهرية من فئة M-Series . يتمثل الغرض من Write Acceleration في تحسين زمن وصول الإدخال/الإخراج للكتابة في الإصدار Azure Premium Storage عندما تحتاج إلى زمن وصول أحادي الرقم للإدخال/الإخراج بسبب أحمال عمل تطبيقات معالجة العمليات عبر الإنترنت (OLTP) ذات الكميات الكبيرة أو بيئات مخازن البيانات.

استخدم Write Acceleration لتحسين زمن وصول الكتابة إلى محرك الأقراص الذي يستضيف ملفات السجل. لا تستخدم Write Acceleration لملفات بيانات SQL Server.

تشترك أقراص Write Accelerator في نفس حد IOPS مثل الجهاز الظاهري. لا يمكن أن تتجاوز الأقراص المرفقة حد إدخال مسرع الكتابة IOPS لجهاز ظاهري.

يوضح الجدول التالي عدد أقراص البيانات و IOPS المعتمدة لكل جهاز ظاهري:

VM SKU # Write Accelerator disks قرص Write Accelerator IOPS لكل جهاز ظاهري
M416ms_v2, M416s_v2 ⁧⁩16⁧⁩ 20000
M128ms, M128s ⁧⁩16⁧⁩ 20000
M208ms_v2, M208s_v2 8 10000
M64ms, M64ls, M64s 8 10000
M32ms، M32ls، M32ts، M32s 4 5000
M16ms, M16s 2 2500
M8ms, M8s 1 1250

هناك عدد من القيود لاستخدام Write Acceleration. لمعرفة المزيد، راجع القيود عند استخدام Write Accelerator.

المقارنة بقرص Azure ultra

أكبر الفرق بين Write Acceleration وأقراص Azure ultra هو أن Write Acceleration هو ميزة الجهاز الظاهري المتوفرة فقط لأقراص M-Series و Azure ultra هي خيار تخزين. Write Acceleration هو ذاكرة التخزين مؤقت محسنة للكتابة مع قيودها الخاصة استنادًا إلى حجم الجهاز الظاهري. تعد أقراص Azure Ultra خيار تخزين قرص بزمن انتقال منخفض لأجهزة Azure الظاهرية.

إذا أمكن، استخدم Write Acceleration عبر أقراص فائقة لقرص سجل المعاملات. بالنسبة للأجهزة الظاهرية التي لا تدعم Write Acceleration ولكنها تتطلب زمن انتقال منخفض لسجل المعاملات، استخدم أقراص Azure ultra.

مراقبة أداء التخزين

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

IOPS (الإدخال / الإخراج في الثانية) هو عدد الطلبات التي يرسلها التطبيق للتخزين في الثانية. قم بقياس IOPS باستخدام عدادات مراقب الأداء Disk Reads/sec و Disk Writes/sec. تحتاج تطبيقات OLTP (معالجة المعاملات عبر الإنترنت) إلى زيادة IOPS لتحقيق الأداء الأمثل. تعد تطبيقات مثل أنظمة معالجة الدفع والتسوق عبر الإنترنت وأنظمة نقاط البيع بالتجزئة أمثلة على تطبيقات OLTP.

معدل النقل هو حجم البيانات التي يتم إرسالها إلى التخزين الأساسي، وغالبًا ما تقاس بالميغابايت في الثانية. قياس معدل النقل باستخدام عدادات مراقب الأداء Disk Read Bytes/sec و Disk Write Bytes/sec. تم تحسين تخزين البيانات حول زيادة معدل النقل عبر IOPS. تطبيقات مثل مخازن البيانات للتحليل وإعداد التقارير ومسارات عمل ETL وأهداف ذكاء الأعمال الأخرى كلها أمثلة لتطبيقات تخزين البيانات.

تؤثر أحجام وحدات الإدخال / الإخراج على IOPS وقدرات معدل النقل نظرًا لأن أحجام الإدخال / الإخراج الأصغر تنتج IOPS أعلى بينما تؤدي أحجام الإدخال / الإخراج الأكبر إلى إنتاجية أعلى. يختار SQL Server حجم الإدخال / الإخراج الأمثل تلقائيًا. لمزيد من المعلومات حول، راجع تحسين IOPS ومعدل النقل ووقت الاستجابة لتطبيقاتك.

هناك مقاييس محددة لـ Azure Monitor لا تقدر بثمن لاكتشاف السد على مستوى القرص والجهاز الظاهري بالإضافة إلى استهلاك وصحة ذاكرة التخزين المؤقت AzureBlob. لتحديد العدادات الرئيسية لإضافتها إلى حل المراقبة ولوحة معلومات مدخل Azure، راجع مقاييس استخدام التخزين.

ملاحظة

لا تقدم Azure Monitor حاليًا مقاييس على مستوى القرص لمحرك الأقراص المؤقت سريع الزوال (D:\). ستعكس النسبة المئوية المستهلكة لـ IOPS المخزنة مؤقتًا في VM والنسبة المئوية المستهلكة للنطاق الترددي المخزن VM IOPS ومعدل النقل لكل من محرك الأقراص المؤقت سريع الزوال (D:\) والتخزين المؤقت للمضيف معًا.

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

لمعرفة المزيد، راجع المقالات الأخرى في هذه السلسلة من أفضل الممارسات:

للحصول على أفضل ممارسات الأمان، راجع اعتبارات الأمان لـ SQL Server على الأجهزة الظاهرية Azure.

للحصول على اختبار مفصل لأداء SQL Server على أجهزة Azure الظاهرية مع TPC-E و TPC_C، راجع مدونة تحسين أداء OLTP .

راجع مقالات الجهاز الظاهري SQL Server الأخرى في نظرة عامة على الأجهزة الظاهرية Azure لـ SQL Server. إذا كانت لديك أسئلة حول أجهزة SQL Server الظاهرية، فراجع ⁧⁩الأسئلة المتداولة⁧⁩.