زمن الوصول في تخزين Blob

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

يوفر تخزين Azure خيارين مختلفين للأداء بالنسبة إلى نقط الكتلة: مميز وقياسي. كتلة Blob ذات الأداء المميز تقدم زمن وصول أقل بكثير وأكثر اتساقًا من نقط الكتلة القياسية عبر أقراص SSD عالية الأداء. لمزيد من المعلومات، راجع Premium performance block blob storage في مستويات الوصول الـ Hot, Cool, وArchive لبيانات blob.

حول زمن وصول تخزين Azure

يرتبط زمن وصول تخزين Azure بمعدلات الطلب لعمليات تخزين Azure. تعرف معدلات الطلب أيضًا بعمليات الإدخال/الإخراج في الثانية (IOPS).

لحساب معدل الطلب، حدد أولاً طول الوقت الذي يستغرقه كل طلب لإكماله، ثم احسب عدد الطلبات التي يمكن معالجتها في الثانية. على سبيل المثال، افترض أن الطلب يستغرق 50 مللي ثانية (مللي ثانية) لإكماله. التطبيق يستخدم مؤشر ترابط واحدًا مع عملية واحدة قراءة أو كتابة معلقة، لذا يجب تحقيق 20 IOPS (1 ثانية أو 1000 مللي ثانية / 50 مللي ثانية لكل طلب). نظريًا، إذا تضاعف عدد مؤشرات الترابط إلى اثنين، فإن التطبيق يجب أن يكون قادرًا على تحقيق 40 IOPS. إذا تمت مضاعفة عمليات القراءة أو الكتابة غير المتزامنة المعلقة لكل مؤشر ترابط إلى اثنين، فمن ثم يجب أن يكون التطبيق قادرًا على تحقيق 80 IOPS.

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

يرتبط معدل الطلب أيضًا بعرض النطاق الترددي لتخزين Azure، والذي يشار إليه أيضًا باسم الإنتاجية، ويمكن حسابه بضرب معدل الطلب (IOPS) في حجم الطلب. على سبيل المثال، بافتراض أن المعدل يساوي 160 طلبًا في الثانية، ينتج عن كل 256 كيلوبايت من البيانات إنتاجية تساوى 40,960 كيلوبايت في الثانية أو 40 ميجابايت في الثانية.

مقاييس زمن الوصول لكتلة Blob

يوفر تخزين Azure مقياسين لزمن الوصول لكتلة Blob. يمكن عرض هذه المقاييس في مدخل Azure:

  • ⁩ زمن الوصول من طرف إلى الطرف الآخر (E2E)⁧⁩ يقيس الفترة الزمنية من وقت تلقي تخزين Azure الحزمة الأولى من الطلب حتى يتلقى تخزين Azure إقرار العميل على الحزمة الأخيرة من الاستجابة.

  • ⁩ زمن الوصول للخادم⁧⁩ يقيس الفترة الزمنية من وقت تلقي تخزين Azure الحزمة الأخيرة من الطلب حتى يتم إرجاع الحزمة الأولى من الاستجابة من تخزين Azure.

تظهر الصورة التالية⁧⁩متوسط زمن وصول E2E الناجح⁧⁩ و ⁧⁩متوسط زمن وصول الخادم الناجح ⁧⁩ لعينة تحميل تستدعى⁧Get Blob⁩ العملية:

لقطة شاشة تظهر مقاييس زمن الوصول لعملية Get Blob

في الظروف العادية، تكون هناك فجوة صغيرة بين زمن الوصول من طرف إلى طرف و زمن وصول الخادم، وهو ما تظهره الصورة لعينة التحميل.

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

إذا كان زمن الوصول من طرف إلى طرف وزمن وصول الخادم متماثلين، ولكن عملك يحتاج إلى زمن وصول أقل، ففكر في التحول إلى تخزين كتلة blob مميز.

العوامل المؤثرة على زمن الوصول

العامل الرئيسي الذي يؤثر على زمن الوصول هو حجم العملية. تستغرق وقتًا أطول لإكمال عمليات أكبر، نظرًا إلى كمية البيانات التي يتم نقلها عبر الشبكة ومعالجتها بواسطة تخزين Azure.

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

لقطة شاشة توضح إجمالي وقت العملية حسب حجم العملية

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

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

بنفس القدر من الأهمية تأتى واجهة الشبكة وشبكة الاتصال بين العميل و تخزين Azure. يمكن أن تكون المسافة الفعلية وحدها عاملاً هامًا، على سبيل المثال إذا كان جهاز VM للعميل في منطقة Azure مختلفة أو داخل الشركة. يمكن أن تؤثر عوامل أخرى مثل قفزات الشبكة ومسار ISP وحالة الإنترنت على زمن الوصول العام للتخزين.

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

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