it-swarm.asia

ما هي أفضل الممارسات لتشغيل SQL Server في جهاز ظاهري؟

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

21
JerryOL

كما هو الحال مع الآلات المادية IO هو الملك. سيكون هناك IO نتيجة ملحوظة من المحاكاة الافتراضية (يعتمد مقدار الضربة على التقنية التي تختارها) ، لذا تأكد من عدم فعل أي شيء يمكن أن يؤدي إلى تفاقم ذلك ويؤذي IO الأداء بالإضافة إلى ذلك.

  • استخدم دائمًا الحجم الثابت ، وليس الأقراص الافتراضية الديناميكية ، وتأكد من أن محركات الأقراص/الصفائف الأساسية كافية. الأقراص الديناميكية أقل أداءً من الأقراص الثابتة.
  • إذا كانت البيانات الموجودة في VMs ليست مهمة حاسمة ، فقم بتشغيل قدرة الحلول [VM على التخزين المؤقت للكتابة (الكذب بشكل فعال لنظام التشغيل الضيف حول وقت كتابة الأشياء فعليًا على القرص) للحصول على أداء إضافي. هذا مفيد لآلة تطوير واختبار حيث يتم استبدال البيانات بسهولة ، أو نسخ متماثلة للقراءة فقط محلية للسيد يمكن إعادة إنشائها إذا واجهت أي مشكلة ، ولكن يوصى بأن تبقى هذه الخيارات بعيدة عن أنظمة الإنتاج والنسخ الاحتياطي مثل أنها تزيد من فرصة فقدان البيانات (أو الأسوأ من ذلك ، الفساد) إذا تم إيقاف تشغيل الجهاز بشكل غير متوقع.
  • تأكد من أن كل VM لديه ما يكفي من RAM مخصص لها بحيث تتناسب مجموعة العمل العادية لكل قاعدة بيانات مع الذاكرة مع مساحة لا بأس بها من المساحة لتجنب IO غير الضرورية. تأكد أيضًا من أن برنامج Hypervisor لن يقوم بتخزين VMs RAM في أي وقت (على سبيل المثال ، يمكن لمعظم منتجات VMWare القيام بذلك ، مما يسمح لك بتشغيل مجموعة أكبر من VMs على خلاف ذلك على نفس الجهاز ، ولكن يمكن أن يكون تدهور الأداء هائلاً - هناك خيار لضبط هذا السلوك أو إيقاف تشغيله).
  • إذا كان المضيف يستخدم صفائف RAID5 ، ففكر في الانتقال إلى RAID10. سيؤدي ذلك إلى تقليل المساحة المتوفرة ولكنه يزيل مشاكل أداء الكتابة التي يمكن أن تظهر مع RAID5 (أو 6).
  • بالنسبة إلى الأجهزة الظاهرية التي يُرجح أن تشهد الكثير من نشاط IO ، فكر في منحهم محرك أقراص أو صفيف خاص بهم ، أو اجعلهم يشاركون فقط محركات الأقراص/المصفوفة (المصفوفات) مع البيانات التي تشهد نشاطًا منخفضًا.

بالطبع إذا كانت قاعدة البيانات الخاصة بك بالكامل (وكل شيء آخر يشغل VM) يتناسب مع RAM المخصص لـ VM ولا يرى سوى نشاط كتابة قليل جدًا ، IO قد يكون الأداء مشكلة أقل بكثير.

تحرير: بضع نقاط أخرى:

  • إذا كنت تستخدم أقراصًا افتراضية ، فتأكد من استخدام أفضل نوع للتحكم في الأداء. تقدم بعض حلول المحاكاة الافتراضية العديد من أنواع وحدات التحكم الافتراضية لتحسين توافق الضيف وقد تجد البعض أقل كفاءة من غيرها بسبب قيود البروتوكول في التصميم الذي تحاكيه والقيود في برامج تشغيل نظام تشغيل الضيف.
  • إذا كان حل المحاكاة الافتراضية الخاص بك يوفر برامج تشغيل محددة لوحدة تحكم محرك الأقراص الظاهري ، فتأكد من أن نظام التشغيل الضيف الخاص بك يستخدمها - فهذه يمكن أن تسرع IO من خلال تقليل عدد نسخ الذاكرة إلى الذاكرة والمضيف <-> مُراقب سياق الضيف <-> الضيف المتضمن في بعض العمليات.
  • تنطبق النقطتان أعلاه إذا كنت تستخدم تخزين الشبكة مثل مشاركات SMB بسيطة أو iSCSI أيضًا: تأكد من أنك تستخدم وحدة تحكم الشبكة الظاهرية الأكثر فعالية المعروضة وأن نظام التشغيل الضيف الخاص بك يستخدم برنامج التشغيل الموصى به لذلك ، خلاف ذلك قد يكون كل من الكمون وعرض النطاق الترددي أكثر محدودية من الاحتياجات بواسطة طبقة المحاكاة الافتراضية.
18
David Spillett
9
Eric Humphrey - lotsahelp