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

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

ينطبق على

نوع مشاركة الملف SMB NFS
مشاركات الملفات القياسية (GPv2)، حسابات التخزين المكررة محليًا (LRS) وحسابات التخزين المكررة في المنطقة (ZRS) No No
مشاركات الملفات القياسية (GPv2)، حساب تخزين مكرر جغرافي (GRS) أو حساب تخزين مكرر للمنطقة الجغرافية (GZRS) No No
مشاركات الملفات المدفوعة (FileStorage)، حسابات التخزين المكررة محليًا (LRS) وحسابات التخزين المكررة في المنطقة (ZRS) Yes No

تحسين الأداء

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

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

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

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

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

SMB Multichannel

تُمكّن SMB Multichannel عميل SMB 3.x من إنشاء اتصالات شبكة متعددة إلى مشاركة ملف SMB. تدعم Azure Files SMB Multichannel على مشاركات الملفات المتميزة (مشاركات الملفات في نوع حساب تخزين FileStorage) لعملاء Windows. على جانب الخدمة، يتم تعطيل SMB Multichannel بشكل افتراضي في Azure Files، ولكن لا توجد تكلفة إضافية لتمكينه.

المزايا

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

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

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

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

القيود

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

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

التكوين

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

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

Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel

في حساب تخزين Azure الخاص بك، ستحتاج إلى تمكين SMB Multichannel. راجع تمكين SMB متعدد القنوات.

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

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

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

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

Screenshot of Get-SMBMultichannelConnection results.

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

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

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

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

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

الحجم vCPU الذاكرة: جيبي تخزين درجة الحرارة (SSD) جيبي الحد الأقصى لأقراص البيانات الحد الأقصى لمعدل النقل المخزن مؤقتاً: عمليات الإدخال والإخراج في الثانية/ميغابت في الثانية (حجم ذاكرة التخزين المؤقت بالغيبيبايت) أقصى معدل نقل للقرص غير المخزن مؤقتاً: IOPS/MBps الحد الأقصى لبطاقات NIC النطاق الترددي المتوقع للشبكة (ميغابت في الثانية)
Standard_D32s_v3 32 128 256 32 64000/512 (800) 51200/768 8 16000

Screenshot that shows the performance test configuration.

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

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

Diagram of performance.

Diagram of throughput performance.

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

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

diskspd.exe -W300 -C5 -r -w100 -b4k -t8 -o8 -Sh -d60 -L -c2G -Z1G z:\write0.dat z:\write1.dat z:\write2.dat z:\write3.dat z:\write4.dat z:\write5.dat z:\write6.dat z:\write7.dat z:\write8.dat z:\write9.dat .

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

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

Diagram of IOPS performance.

Diagram of single file throughput performance.

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

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

التخزين المؤقت لبيانات التعريف هو تحسين لمشاركات ملفات SMB Azure المتميزة التي تهدف إلى تقليل زمن انتقال بيانات التعريف، وزيادة عمليات الإدخال والإخراج في الثانية المتاحة، وتعزيز معدل نقل الشبكة. تعمل ميزة المعاينة هذه على تحسين واجهات برمجة التطبيقات لبيانات التعريف التالية ويمكن استخدامها من كل من عملاء Windows وLinux:

  • إنشاء
  • مفتوحة
  • إغلاق
  • حذف

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

التوفر الإقليمي

تتوفر حاليا معاينة التخزين المؤقت لبيانات التعريف فقط في مناطق Azure التالية.

  • شرق أستراليا
  • جنوب شرق البرازيل
  • جنوب فرنسا
  • وسط غرب ألمانيا
  • شمال سويسرا
  • الإمارات العربية المتحدة، الوسط
  • شمال الإمارات العربية المتحدة
  • US West Central

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

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

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

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

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

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

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

Chart showing latency in milliseconds with and without metadata caching.

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

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

Chart showing available IOPS with and without metadata caching.

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

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

Chart showing network throughput with and without metadata caching.

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