توضّح هذه الصفحة الحدود القابلة للتوسّع والمستندة إلى الاستخدام في Cloud Functions وفقًا لـ خطة أسعار Blaze التي تتيح الدفع حسب الاستخدام. تنطبق هذه الحدود على مشاريع Firebase التي تنشر الدوال في بيئة وقت التشغيل Node.js 10.
توفر خطة Blaze المرنة عددًا كبيرًا من عمليات الاستدعاء ووقت الحوسبة وحركة مرور بيانات الإنترنت بدون أي تكلفة. ومع ذلك، يتم تحصيل رسوم صغيرة مقابل مساحة التخزين المستخدَمة لحاوية الدالة عند نشر الدوال. لمزيد من التفاصيل، يُرجى الاطّلاع على الأسئلة الشائعة.
تشمل حصص Cloud Functions أربعة مجالات:
الحدود القصوى لاستخدام الموارد
تؤثر هذه الحدود في إجمالي كمية الموارد التي يمكن أن تستهلكها الدوال.
الحدود الزمنية
تؤثر هذه الحدود في المدة التي يمكن أن تستغرقها العمليات.
الحدود القصوى للمعدل
تؤثر هذه الحدود في المعدل الذي يمكنك من خلاله استدعاء Cloud Functions API لإدارة الدوال.
حدود الشبكات
تؤثر هذه الحدود في الاتصالات الصادرة والحدود القصوى للمثيلات.
في ما يلي وصف أكثر تفصيلاً للأنواع المختلفة من الحدود. يتم توضيح الاختلافات بين الحدود القصوى لـ Cloud Functions (الجيل الأول) و Cloud Functions (الجيل الثاني) حيثما ينطبق ذلك.
الحدود القصوى لاستخدام الموارد
تؤثر الحدود القصوى لاستخدام الموارد في إجمالي كمية الموارد التي يمكن أن تستهلكها الدوال. النطاق الإقليمي هو لكل مشروع، ويحتفظ كل مشروع بحدوده الخاصة.
| الحصة | الوصف | الحدّ الأقصى المسموح به (الجيل الأول) | الحدّ الأقصى المسموح به (الجيل الثاني) | يمكن زيادته | النطاق |
|---|---|---|---|---|---|
| عدد الدوال | إجمالي عدد الدوال التي يمكن نشرها لكل منطقة | 1,000 | 1,000 ناقص عدد خدمات Cloud Run التي تم نشرها | لا | لكل منطقة |
| الحدّ الأقصى لحجم النشر | الحدّ الأقصى لحجم عملية نشر دالة واحدة | 100 ميغابايت (مضغوطة) للمصادر 500 ميغابايت (غير مضغوطة) للمصادر بالإضافة إلى الوحدات |
لا ينطبق | لا | لكل دالة |
| الحدّ الأقصى لحجم طلب HTTP غير المضغوط | البيانات المُرسَلة إلى دوال HTTP في طلب HTTP | 10 ميغابايت | 32 ميغابايت | لا | لكل عملية استدعاء |
| الحدّ الأقصى لحجم استجابة HTTP غير المضغوطة | البيانات المُرسَلة من دوال HTTP في استجابة HTTP | 10 ميغابايت | 10 ميغابايت للاستجابات التي يتم عرضها تدريجيًا 32 ميغابايت للاستجابات التي لا يتم عرضها تدريجيًا |
لا | لكل عملية استدعاء |
| الحدّ الأقصى لحجم الحدث للدوال المستندة إلى الأحداث | البيانات المُرسَلة في الأحداث إلى الدوال التي يتم تنفيذها في الخلفية | 10 ميغابايت | 512 كيلوبايت لأحداث Eventarc 10 ميغابايت للأحداث القديمة |
لا | لكل حدث |
| الحدّ الأقصى لذاكرة الدالة | كمية الذاكرة التي يمكن أن يستخدمها كل مثيل دالة | 8 غيغابايت | 32 غيغابايت | لا | لكل دالة |
| الحدّ الأقصى لذاكرة المشروع | كمية الذاكرة، بالبايت، التي يمكن أن يستخدمها المشروع يتم قياسها من خلال الإجمالي التراكمي للذاكرة التي يطلبها المستخدمون في جميع مثيلات الدوال على مدار دقيقة واحدة. | يعتمد ذلك على المنطقة المحدّدة. قد يكون هذا الحدّ الأقصى أكبر في المناطق ذات السعة العالية أو أقل في المناطق التي تم افتتاحها مؤخرًا. | لا ينطبق | نعم | لكل مشروع ومنطقة |
| الحدّ الأقصى لوحدة المعالجة المركزية للمشروع | كمية وحدة المعالجة المركزية، بوحدة المعالجة المركزية الافتراضية الجزئية، التي يمكن أن يستخدمها المشروع يتم قياسها من خلال الإجمالي التراكمي لوحدة المعالجة المركزية التي يطلبها المستخدمون في جميع مثيلات الدوال على مدار دقيقة واحدة. | يعتمد ذلك على المنطقة المحدّدة. قد يكون هذا الحدّ الأقصى أكبر في المناطق ذات السعة العالية أو أقل في المناطق التي تم افتتاحها مؤخرًا. | لا ينطبق | نعم | لكل مشروع ومنطقة |
الحدود الزمنية
| الحصة | الوصف | الحدّ الأقصى المسموح به (الجيل الأول) | الحدّ الأقصى المسموح به (الجيل الثاني) | يمكن زيادته | النطاق |
|---|---|---|---|---|---|
| الحدّ الأقصى لمدة الدالة | الحدّ الأقصى للوقت الذي يمكن أن تستغرقه الدالة قبل إنهاءها بالقوة | 540 ثانية |
|
لا | لكل عملية استدعاء |
الحدود القصوى للمعدل
| الحصة | الوصف | الحدّ الأقصى المسموح به (الجيل الأول) | الحدّ الأقصى المسموح به (الجيل الثاني) | يمكن زيادته | النطاق |
|---|---|---|---|---|---|
| طلبات البيانات من واجهة برمجة التطبيقات (القراءة) | طلبات وصف الدوال أو إدراجها من خلال Cloud Functions API | 5,000 لكل 100 ثانية | 1,200 لكل 60 ثانية | الجيل الأول فقط | لكل مشروع (الجيل الأول) لكل منطقة (الجيل الثاني) |
| طلبات البيانات من واجهة برمجة التطبيقات (الكتابة) | طلبات نشر الدوال أو حذفها من خلال Cloud Functions API | 80 لكل 100 ثانية | 60 لكل 60 ثانية | لا 1 | لكل مشروع (الجيل الأول) لكل منطقة (الجيل الثاني) |
| طلبات البيانات من واجهة برمجة التطبيقات (الاستدعاء) | طلبات بيانات من واجهة برمجة التطبيقات "call" | 16 لكل 100 ثانية | لا ينطبق | لا 2 | لكل مشروع |
حدود الشبكات
للتعرّف على معلومات عن Cloud Functions (الجيل الثاني) طلبات الشبكات و حدود عرض النطاق الترددي، يُرجى الاطّلاع على حدود الشبكات.
تنطبق حدود الشبكات التالية على Cloud Functions (الجيل الأول):
- الاتصالات الصادرة في الثانية لكل مثيل: 500 (لا يمكن زيادتها)
- عمليات التحويل باستخدام نظام أسماء النطاقات (DNS) الصادرة في الثانية لكل مثيل: 100 (لا يمكن زيادتها)
- الحدّ الأقصى للحِزم في الثانية لكل مثيل: 80,000
- الحدّ الأقصى للوحدات في الثانية لكل مثيل: 100,000,000
قابلية التوسّع
Cloud Functions التي يتم استدعاؤها من خلال HTTP تتوسّع بسرعة للتعامل مع حركة البيانات الواردة، بينما تتوسّع الدوال التي يتم تنفيذها في الخلفية بشكل تدريجي أكثر. تعتمد قدرة الدالة على التوسّع على بعض العوامل، بما في ذلك:
- الوقت الذي يستغرقه اكتمال تنفيذ الدالة (يمكن أن تتوسّع الدوال التي تستغرق وقتًا قصيرًا بشكل عام للتعامل مع المزيد من الطلبات المتزامنة)
- الوقت الذي تستغرقه الدالة لتهيئتها عند التشغيل على البارد .
- معدّل الخطأ في الدالة
العوامل المؤقتة، مثل حِمل المنطقة وسعة مركز البيانات
حصص إضافية للدوال التي يتم تنفيذها في الخلفية
| الحصة | الوصف | الحدّ الأقصى المسموح به | يمكن زيادته | النطاق | إصدار المنتج |
|---|---|---|---|---|---|
| الحدّ الأقصى لعمليات الاستدعاء المتزامنة | الحدّ الأقصى لعمليات الاستدعاء المتزامنة لدالة واحدة مثال: إذا كانت معالجة كل حدث تستغرق 100 ثانية، سيتم تحديد معدّل الاستدعاء بـ 30 في الثانية في المتوسط |
3,000 | نعم | لكل دالة | الجيل الأول فقط |
| الحدّ الأقصى لمعدّل الاستدعاء | الحدّ الأقصى لمعدّل معالجة الأحداث من خلال دالة واحدة مثال: إذا كانت معالجة حدث تستغرق 100 ملي ثانية، سيتم تحديد معدّل الاستدعاء بـ 1,000 في الثانية حتى إذا لم تتم معالجة سوى 100 طلب في المتوسط بالتوازي |
1,000 في الثانية | لا | لكل دالة | الجيل الأول فقط |
| الحدّ الأقصى لحجم بيانات الأحداث المتزامنة | الحدّ الأقصى لإجمالي حجم الأحداث الواردة إلى عمليات الاستدعاء المتزامنة لدالة واحدة مثال: إذا كان حجم الأحداث 1 ميغابايت وكانت معالجتها تستغرق 10 ثوانٍ، سيكون المعدّل المتوسّط حدثًا واحدًا في الثانية، لأنّه لن تتم معالجة الحدث الحادي عشر إلا بعد اكتمال معالجة أحد الأحداث العشرة الأولى |
10 ميغابايت | لا | لكل دالة | الجيل الأول والجيل الثاني |
| الحدّ الأقصى لسرعة معالجة البيانات للأحداث الواردة | الحدّ الأقصى لسرعة معالجة البيانات للأحداث الواردة إلى دالة واحدة مثال: إذا كان حجم الأحداث 1 ميغابايت، يمكن أن يكون معدّل الاستدعاء 10 في الثانية كحد أقصى، حتى إذا اكتملت الدوال في غضون 100 ملي ثانية |
10 ميغابايت في الثانية | لا | لكل دالة | الجيل الأول والجيل الثاني |
عند بلوغ الحدّ الأقصى المسموح به للحصة
عندما تستهلك دالة كل الموارد المخصّصة، يصبح المورد غير متاح إلى أن يتم تجديد الحصة أو زيادتها. قد يعني ذلك أنّ الدالة وجميع الدوال الأخرى في المشروع نفسه لن تعمل حتى ذلك الحين. تعرض الدالة رمز خطأ HTTP 500 عندما يتجاوز أحد الموارد الحصة المسموح بها ولا يمكن تنفيذ الدالة.
لزيادة الحصص فوق القيم التلقائية المُدرَجة هنا، انتقِل إلى Cloud Functions صفحة الحصص، واختَر الحصص التي تريد تعديلها، وانقر على تعديل الحصص، وأدخِل معلومات المستخدم إذا طُلب منك ذلك، وأدخِل الحد الأقصى الجديد للحصة لكل حصة اخترتها.
الحدود القصوى للحصة عند النشر باستخدام Firebase CLI
بالنسبة إلى كل دالة ينشرها Firebase CLI، تتأثر أنواع الحدود القصوى للمعدل والوقت التالية:
- طلبات البيانات من واجهة برمجة التطبيقات (القراءة): طلب واحد لكل عملية نشر، بغض النظر عن عدد الدوال
- الحدّ الأقصى المسموح به: 5,000 لكل 100 ثانية
- طلبات البيانات من واجهة برمجة التطبيقات (الكتابة): طلب واحد لكل دالة
- الحدّ الأقصى المسموح به: 80 لكل 100 ثانية
يمكنك أيضًا الاطّلاع على مرجع Firebase CLI.