تقنية

تحجيم خدمة النموذج: هل خمس نسخ مطلوبة تعني خمسًا جاهزة؟

عدد حالي ونسبة قياس يتصلان بهدف خمس نسخ، ثم سؤال مستقل عن عدد النسخ الجاهزة فعليًا
مخطط من إعداد بحر العلوم؛ الخمسة توصية حسابية مشروطة وليست مشاهدة خدمة.

النسخ المطلوبة والجاهزة في التحجيم ليستا عدادًا واحدًا. تضبط حلقة HPA في Kubernetes الحجم المطلوب وفق المقاييس دوريًا، مع شروط للجاهزية والقياسات الناقصة. [1]

الخلاصة السريعة

اقرأ القياس وشروط الحساب والعدد المطلوب، ثم راجع عدد النسخ الجاهزة مستقلًا؛ توصية زيادة العدد لا تثبت أن الزيادة أصبحت متاحة للمستخدم.

  • يعرض HPA حسابًا أساسيًا: العدد الحالي مضروبًا في نسبة القياس الحالي إلى هدفه، ثم التقريب إلى الأعلى؛ توجد سماحية وشروط أخرى. [1]
  • في حسابنا ثلاث نسخ وقياس 80 وهدف 50 يعطيان 4.8 ثم خمسًا؛ نفترض قياسات كاملة ونسخًا جاهزة وألا تقيد النتيجة سماحية أو سياسة أخرى.
  • العدد خمسة هدف مطلوب في هذا التمرين، لا شهادة أن خمس نسخ بدأت أو حملت النموذج أو تستجيب؛ تلك أحداث تحتاج دليلًا منفصلًا.
  • الجاهزية والقياسات الناقصة والسياسات ونوافذ التثبيت قد تغير القرار الفعلي؛ لا نعمم الحساب المبسط على تشغيل لم نفحصه. [1]

أي عدد تحاول حلقة التحجيم ضبطه؟

تصف Kubernetes حلقة تحكم دورية تضبط الحجم المطلوب وفق القياس. تعرض قاعدتها الأساسية ضرب العدد الحالي بنسبة القياس إلى الهدف ثم التقريب إلى الأعلى. [1]

نركز على خدمة نموذج لها نسخ يمكن زيادتها. العدد المطلوب يصف هدفًا في خطة السعة، بينما العدد الذي اجتاز فحص الجاهزية يصف حالة تحتاج ملاحظة. لا نسميهما معًا «عدد الخوادم المتاحة» دون توضيح.

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

احسب هدفًا تحت شروط معلنة

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

نقسم 80 على 50 فنحصل على 1.6. نضربها في ثلاثة، فينتج 4.8، ثم نقرب إلى أقرب عدد صحيح أعلى ليكون المطلوب خمسة. لا نقرب إلى أربعة لمجرد أن عدد النسخ لا يقبل كسرًا.

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

لماذا لا تساوي التوصية سعة جاهزة؟

نكتب في بطاقة المثال «المطلوب خمسة» فقط. هذا لا يذكر وقت إنشاء النسختين الإضافيتين، أو نجاح تحميل النموذج فيهما، أو مرور طلب مستخدم بهما. لا نملأ تلك الحقول من حاصل الضرب.

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

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

متى يتغير الحساب الفعلي؟

تشرح الوثائق أثر السماحية والقياسات الناقصة والنسخ غير الجاهزة، كما تصف سياسات التحجيم ونوافذ التثبيت. قد لا يصبح الحساب الأساسي وحده قرارًا فعليًا. [1]

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

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

المصادر ومتابعة القراءة

  1. Kubernetes: Horizontal Pod Autoscaling (يفتح في نافذة جديدة)kubernetes.io

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.