تحسين الأداء لمشاركات ملفات SMB Azure

ينطبق على: ✔️ مشاركة ملفات SMB على طبقة وسائط SSD

توضح هذه المقالة كيف يمكنك تحسين الأداء لمشاركات ملفات SSD (premium) SMB Azure، بما في ذلك استخدام SMB Multichannel والتخزين المؤقت لبيانات التعريف.

تحسين الأداء

قد تساعدك التلميحات التالية على تحسين الأداء:

  • تأكد من أن حساب التخزين الخاص بك والعميل الخاص بك في نفس منطقة Azure لتقليل زمن انتقال الشبكة.
  • استخدم التطبيقات متعددة مؤشرات الترابط وانشر الحمل عبر ملفات متعددة.
  • تزداد مزايا الأداء ل SMB Multichannel مع عدد الملفات التي توزع الحمل.
  • يرتبط أداء مشاركة SSD بحجم المشاركة المقدمة، بما في ذلك IOPS ومعدل النقل وحدود الملفات الفردية. للحصول على التفاصيل، راجع فهم نموذج تزويد الإصدار 1.
  • لا يزال الأداء الأقصى لعميل آلة افتراضية واحدة مرتبطا بحدود الجهاز الافتراضي. على سبيل المثال، يدعم Standard_D32s_v3 عرض نطاق ترددي أقصى يبلغ حوالي 1.86 جيجابايت/ثانية. الدخول (الكتابة إلى التخزين) يتم قياسه، لكن الخروج (القراءة من التخزين) ليس كذلك. يخضع أداء مشاركة الملفات لحدود شبكة الجهاز، ووحدات المعالجة المركزية، وعرض النطاق الترددي للشبكة المتوفر للتخزين الداخلي، وأحجام IO، والتوازي، وعوامل أخرى.
  • الاختبار الأولي عادة ما يكون تسخينا. تجاهل النتائج وكرر الاختبار.
  • إذا كان الأداء محدودا من قبل عميل واحد ولا يزال حمل العمل أقل من حدود المشاركة المتوفرة، يمكنك تحقيق أداء أعلى عن طريق نشر الحمل على عملاء متعددين.
  • استخدم الوضع الزوني لتحديد منطقة التوفر المحددة التي يقع فيها حساب التخزين الخاص بك. هذا يسمح لك بوضع آلاتك الافتراضية في نفس منطقة التوفر مع التخزين، مما يقلل من التأخير بنسبة تصل إلى 30 بالمئة.

العلاقة بين IOPS ومعدل النقل وأحجام الإدخال/الإخراج

معدل النقل = حجم الإدخال/الإخراج * IOPS

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

SMB متعدد القنوات

يتيح SMB Multichannel لعميل SMB إنشاء اتصالات شبكة متعددة لمشاركة ملفات SMB، مما يحسن معدل النقل والمرونة. يدعم Azure Files مشاركة ملفات SMB متعددة القنوات على SSD لكل من عملاء SMB في ويندوز ولينكس. للحصول على إصدارات نظام تشغيل لينكس المدعومة والتكوين التفصيلي، راجع قسم SMB متعدد القنوات الخاص ب لينكس.

دعم لينكس SMB متعدد القنوات

يدعم Azure Files قنوات SMB متعددة مع عملاء SMB الأصليين في Linux على التوزيعات التالية:

  • أوبونتو 24.04 AKS: 6.8.0-1042
  • أجهزة أوبونتو 24.04 الافتراضية: 6.14.0-1017
  • أجهزة أوبونتو 22.04 الافتراضية: 6.8.0-1044
  • AzLinux 3.0 (الأجهزة الافتراضية وAKS): 6.6.106.1
  • RHEL 9.7: 5.14.0-611.5.1.el9_7
  • RHEL 10.1: 6.12.0-124.8.1.el10_1

يجب أن تكون هذه العملاء تشغل مكدس النواة المناسبة وأدوات CIFS التي تدعم القنوات المتعددة. يتيح دعم SMB Multichannel على لينكس توسيع الأداء بشكل مشابه لويندوز من خلال إنشاء عدة اتصالات TCP متوازية لنفس نقطة مشاركة الملفات.

المتطلبات الأساسية

فيما يلي متطلبات أساسية لاستخدام SMB Multichannel مع لينكس.

  • نواة مع دعم SMB متعدد القنوات مفعلة (انظر دعم SMB متعدد القنوات في لينكس)
  • SMB 3.1.1
  • فتح المنفذ 445/TCP بين العميل ونقطة نهاية ملفات Azure
  • تأكد من تمكين تحجيم جانب الاستقبال (RSS) على جانب العميل لدعم الطوابير المتعددة

أمر التثبيت النموذجي

فيما يلي مثال على أمر التركيب لاستخدام SMB Multichannel مع لينكس.

mount -t cifs //<storageaccount>.file.core.windows.net/<share> /mnt/azfiles \
   -o vers=3.1.1,username=<account>,password=<key>,dir_mode=0777,file_mode=0777, \
   multiuser,serverino,actimeo=30,max_channels=4

Benefits

تمكن SMB متعدد القنوات العملاء من استخدام اتصالات شبكة متعددة توفر أداءً متزايداً مع خفض تكلفة الملكية. يتم تحقيق زيادة الأداء من خلال تجميع النطاق الترددي عبر واجهات الشبكة المتعددة واستخدام دعم تلقي التحجيم الجانبي (RSS) لNIC لتوزيع تحميل الإدخال/الإخراج عبر وحدات معالجة مركزية متعددة.

  • زيادة الإنتاجية: تسمح الاتصالات المتعددة بنقل البيانات عبر مسارات متعددة بالتوازي وبالتالي تفيد بشكل كبير أحجام العمل التي تستخدم أحجام ملفات أكبر بأحجام إدخال/إخراج أكبر، وتتطلب إنتاجية عالية من جهاز ظاهري واحد أو مجموعة أصغر من الأجهزة الظاهرية. وتتضمن بعض أحمال العمل هذه الوسائط والترفيه لإنشاء المحتوى أو تحويل الترميز، وعلم الجينوم، وتحليل مخاطر الخدمات المالية.
  • IOPS أعلى: تتيح إمكانية NIC RSS التوزيع الفعال للحمل عبر وحدات المعالجة المركزية المتعددة ذات التوصيلات المتعددة. وهذا يساعد على تحقيق نطاق IOPS أعلى والاستخدام الفعال لوحدات المعالجة المركزية بالجهاز الظاهري. وهذا مفيد لأحمال العمل التي تحتوي على أحجام إدخال/إخراج صغيرة، مثل تطبيقات قاعدة البيانات.
  • التسامح مع أخطاء الشبكة: تخفف الاتصالات المتعددة من خطر الانقطاع نظراً لأن العملاء لم يعودوا يعتمدون على اتصال فردي.
  • التكوين التلقائي: عند تفعيل SMB Multichannel على العملاء وحسابات التخزين، فإنه يسمح بالاكتشاف الديناميكي للاتصالات الحالية، ويمكن إنشاء مسارات اتصال إضافية حسب الحاجة.
  • تحسين التكلفة: يمكن أن تحقق أحمال العمل نطاقا أعلى من جهاز ظاهري واحد، أو مجموعة صغيرة من الأجهزة الظاهرية، أثناء الاتصال بمشاركات ملفات SSD. وقد يؤدي ذلك إلى خفض التكلفة الإجمالية للملكية عن طريق تقليل عدد الأجهزة الظاهرية اللازمة لتشغيل حمل العمل وإدارته.
  • توسيع أداء عملاء لينكس: يمكن لعميلات SMB في لينكس الآن الاستفادة من القنوات المتعددة لزيادة معدل النقل وIOPS مشابهة لنظام ويندوز.
  • الاتساق عبر المنصات: يتيح بيئات هجينة مع عملاء ويندوز ولينكس لتحقيق الأداء الأمثل.
  • المرونة: تحسن القنوات المتعددة تحمل الأعطال مقارنة بالشبكات غير المتجانسة.

لمزيد من المعلومات حول SMB متعدد القنوات، راجع وثائق Windows.

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

Limitations

تضم حالياً SMB متعدد القنوات لمشاركات ملفات Azure القيود التالية:

  • متوفر فقط لمشاركات ملفات SSD. غير متوفر لمشاركة الملفات على الأقراص الصلبة.
  • معتمد فقط على العملاء الذين يستخدمون SMB 3.1.1. تأكد من تصحيح أنظمة تشغيل عميل SMB إلى المستويات الموصى بها.
  • الحد الأقصى لعدد القنوات هو أربع قنوات. لمزيد من التفاصيل، انظر هنا.

تكوين ويندوز

لا يعمل SMB متعدد القنوات سوى عند تمكين الميزة على جانب العميل (العميل) وجانب الخدمة (حساب تخزين Azure الخاص بك).

في عملاء Windows، يتم تمكين SMB متعدد القنوات بشكلٍ افتراضي. يمكنك التحقق من التكوين الخاص بك عن طريق تشغيل أمر PowerShell التالي:

Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel

إذا لم يتم تمكين SMB Multichannel على حساب تخزين Azure، فشاهد حالة SMB Multichannel.

تعطيل SMB متعدد القنوات

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

التحقق من تكوين SMB متعدد القنوات بشكلٍ صحيح

  1. إنشاء مشاركة ملف SSD جديدة أو استخدام مشاركة ملف SSD موجودة.
  2. تأكد من أن عميلك يدعم SMB متعدد القنوات (تم تمكين مقياس جانب الاستقبال في واحد أو أكثر من محولات الشبكة). راجع وثائق Windows لمزيد من التفاصيل.
  3. قم بتحميل مشاركة ملف إلى عميلك.
  4. إنشاء الحمل مع التطبيق الخاص بك. يمكن لأداة نسخ مثل robocopy/MT، أو أي أداة أداء مثل Diskspd لقراءة/كتابة الملفات إنشاء حملاً.
  5. افتح PowerShell كمسؤول واستخدم الأمر التالي: Get-SmbMultichannelConnection |fl
  6. ابحث عن خصائص MaxChannelsوCurrentChannels .

مقارنة الأداء

هناك فئتان من أنماط حمل العمل للقراءة/الكتابة: مترابطة واحدة ومتعددة مؤشرات الترابط. تستخدم معظم أحمال العمل ملفات متعددة، ولكن قد تكون هناك حالات استخدام محددة يعمل فيها حمل العمل مع ملف واحد في المشاركة. يغطي هذا القسم حالات الاستخدام المختلفة وتأثير الأداء لكل منها. بشكلٍ عام، تكون معظم أحمال العمل متعددة الخيوط وتوزع أحمال العمل على ملفات متعددة، لذا يجب أن تلاحظ تحسينات كبيرة في الأداء باستخدام SMB متعدد القنوات.

  • ملفات متعددة مؤشرات الترابط/متعددة: اعتمادا على نمط حمل العمل، يجب أن تلاحظ تحسنا كبيرا في الأداء في قراءة وكتابة عمليات الإدخال/الإخراج عبر قنوات متعددة. تختلف مكاسب الأداء من أي مكان بين 2x إلى 4x من حيث IOPS والإنتاجية وزمن الانتقال. بالنسبة لهذه الفئة، يجب تمكين SMB متعدد القنوات للحصول على أداء أفضل.
  • متعدد الخيوط/ملف واحد: في معظم حالات الاستخدام في هذه الفئة، تستفيد أعباء العمل من تفعيل SMB Multichannel، خاصة إذا كان متوسط حجم الإدخال/الإخراج > ~16k. بعض الأمثلة على السيناريوهات التي تستفيد من SMB متعدد القنوات هي النسخ الاحتياطي أو استرداد ملف كبير واحد. استثناء حيث قد ترغب في تعطيل SMB Multichannel هو إذا كان حمل العمل الخاص بك ثقيلا على I/Os صغير. في هذه الحالة، قد تلاحظ فقدانا طفيفا في الأداء بمقدار ~10%. اعتماداً على حالة الاستخدام، ضع في اعتبارك توزيع الحمل عبر ملفات متعددة أو تعطيل الميزة.
  • ملفات أحادية الترابط/متعددة أو ملف واحد: بالنسبة لمعظم أحمال العمل ذات مؤشرات الترابط المفردة، هناك الحد الأدنى من فوائد الأداء بسبب عدم التوازي. عادة ما يكون هناك انخفاض طفيف في الأداء يبلغ 10% إذا تم تمكين SMB Multichannel. في هذه الحالة، من المثالي تعطيل SMB متعدد القنوات، باستثناء واحد. إذا كان حمل العمل أحادي الترابط يمكنه توزيع الحمل عبر ملفات متعددة ويستخدم على متوسط حجم إدخال/إخراج أكبر (أكبر من 16 KiB)، فيجب أن تكون هناك فوائد أداء طفيفة من SMB Multichannel.

تكوين اختبار الأداء

بالنسبة للمخططات الواردة في هذه المقالة، تم استخدام التكوين التالي: جهاز ظاهري D32s v3 قياسي واحد مع بطاقة واجهة مستخدم (NIC) واحدة ممكنة لـ RSS مع أربع قنوات. تم إنشاء التحميل باستخدام diskspd.exe، ومترابطة متعددة مع عمق IO يبلغ 10، و I/Os عشوائي مع أحجام الإدخال/الإخراج المختلفة.

ملفات متعددة مؤشرات الترابط/متعددة مع SMB Multichannel

تم إنشاء تحميل مقابل 10 ملفات بأحجام إدخال/إخراج مختلفة. أظهرت نتائج اختبار توسيع النطاق تحسينات كبيرة في كل من IOPS ونتائج اختبار الإنتاجية مع تمكين SMB متعدد القنوات. توضح المخططات التالية النتائج:

رسم تخطيطي للأداء.

رسم تخطيطي لأداء معدل النقل.

  • على NIC واحد، بالنسبة لعمليات القراءة، لوحظ زيادة في الأداء بمقدار 2x-3x وبالنسبة للكتابة، كانت المكاسب 3x-4x من حيث كل من IOPS ومعدل النقل.
  • سمحت SMB متعدد القنوات لعمليات IOPS والإنتاجية بالوصول إلى حدود الجهاز الظاهري حتى مع وجود NIC واحد والحد الأقصى للقنوات الأربع.
  • نظرا لأن الخروج (القراءة من التخزين) لا يتم قياسها، تمكن معدل نقل القراءة من تجاوز الحد المنشور للآلة الافتراضية البالغ حوالي 1.86 جيجابايت/ثانية، محققا أكثر من 2.7 جيجابايت/ثانية. الدخول (الكتابة إلى التخزين) يظل خاضعا لحدود معدل النقل في الآلات الافتراضية.
  • سمح توزيع الحمل على ملفات متعددة بإجراء تحسينات كبيرة.

مثال على الأمر المستخدم في هذا الاختبار هو:

Person.

أحمال عمل متعددة مؤشرات الترابط/الملفات المفردة باستخدام SMB متعدد القنوات

تم إنشاء التحميل على ملف واحد بحجم 128 جيجا بايت. مع تمكين SMB متعدد القنوات، أظهر اختبار توسيع النطاق مع الملفات متعددة مؤشرات الترابط/الملفات الفردية تحسينات في معظم الحالات. توضح المخططات التالية النتائج:

رسم تخطيطي لأداء IOPS.

رسم تخطيطي لأداء معدل نقل ملف واحد.

  • على بطاقة NIC واحدة ذات متوسط أكبر لحجم الإدخال/الإخراج (أكبر من 16 كيبيبايت)، كانت هناك تحسينات كبيرة في كل من عمليات القراءة والكتابة.
  • بالنسبة لأحجام الإدخال/الإخراج الأصغر، كان هناك تأثير طفيف لما يقرب من 10% على الأداء مع تمكين SMB Multichannel. يمكن التخفيف من ذلك عن طريق توزيع التحميل على ملفات متعددة، أو تعطيل الميزة.
  • لا يزال الأداء مقيداً بحدود الملفات الفردية.

التخزين المؤقت لبيانات التعريف لمشاركات ملفات SSD

التخزين المؤقت لبيانات التعريف هو تحسين لمشاركات ملفات SSD Azure التي تقلل من زمن انتقال بيانات التعريف وترفع حدود مقياس بيانات التعريف. تزيد الميزة من تناسق زمن الانتقال و IOPS المتوفرة، وتعزز معدل نقل الشبكة. يمكن لكل من عملاء ويندوز ولينكس استخدامه.

تحسن هذه الميزة أداء واجهات برمجة التطبيقات التالية للبيانات الوصفية:

  • Create
  • Open
  • Close
  • Delete

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

التسجيل للحصول على ميزة التخزين المؤقت لبيانات التعريف

للبدء، قم بالتسجيل للحصول على الميزة باستخدام مدخل Microsoft Azure أو Azure PowerShell.

  1. قم بتسجيل الدخول إلى بوابة Azure.
  2. ابحث عن ميزات معاينة وحددها.
  3. حدد عامل تصفية النوع وحدد Microsoft.Storage.
  4. حدد Azure Premium Files Metadata Cache ثم حدد Register.

Important

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

تحسينات الأداء مع التخزين المؤقت لبيانات التعريف

يمكن أن تستفيد معظم أحمال العمل أو أنماط الاستخدام التي تحتوي على بيانات التعريف من التخزين المؤقت لبيانات التعريف. لتحديد ما إذا كان حمل العمل يحتوي على بيانات تعريف، يمكنك استخدام Azure Monitor لتقسيم المعاملات حسب بعد واجهة برمجة التطبيقات.

تتضمن أحمال العمل وأنماط الاستخدام النموذجية كثيفة بيانات التعريف ما يلي:

  • خدمات الويب / التطبيق
  • مهام DevOps
  • وظائف الفهرسة/الدفعة
  • أسطح المكتب الظاهرية مع الدلائل الرئيسية أو أحمال العمل الأخرى التي تتفاعل بشكل أساسي مع العديد من الملفات الصغيرة أو الدلائل أو المقابض

تصور الرسومات التخطيطية التالية النتائج المحتملة.

تقليل زمن انتقال بيانات التعريف

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

مخطط يعرض زمن الانتقال بالمللي ثانية مع التخزين المؤقت لبيانات التعريف وبدونه.

زيادة IOPS المتوفرة

يمكن أن يزيد التخزين المؤقت لبيانات التعريف من عمليات الإدخال والإخراج في الثانية (IOPS) المتاحة بأكثر من 60٪ لأحمال العمل الثقيلة لبيانات التعريف على نطاق واسع.

مخطط يعرض عمليات الإدخال والإخراج في الثانية (IOPS) المتوفرة مع التخزين المؤقت لبيانات التعريف وبدونها.

زيادة معدل نقل الشبكة

يمكن أن يزيد التخزين المؤقت لبيانات التعريف من معدل نقل الشبكة بأكثر من 60٪ لأحمال العمل الثقيلة لبيانات التعريف على نطاق واسع.

مخطط يعرض معدل نقل الشبكة مع التخزين المؤقت لبيانات التعريف وبدونه.

التسجيل لزيادة حدود التعامل مع الملفات (معاينة)

لزيادة الحد الأقصى لعدد المقابض المتزامنة لكل ملف ودليل لمشاركات ملفات SSD SMB من 2000 إلى 10000، قم بالتسجيل في ميزة المعاينة باستخدام مدخل Microsoft Azure أو Azure PowerShell. إذا كان لديك أي أسئلة، تواصل مع فريق Azure Files.

  1. قم بتسجيل الدخول إلى بوابة Azure.
  2. ابحث عن ميزات معاينة وحددها.
  3. حدد عامل تصفية النوع وحدد Microsoft.Storage.
  4. حدد Azure Premium Files Increased Maximum Opened Handles Count ثم حدد Register.

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