توضّح هذه الصفحة الحدود القابلة للتوسّع والمستندة إلى الاستخدام في Cloud Functions وفقًا لخطة أسعار Blaze المَرِنة. تنطبق هذه الحدود على مشاريع Firebase التي تنشر الدوال في بيئة وقت التشغيل Node.js 10.
توفّر خطة Blaze المَرِنة كميات كبيرة من عمليات الاستدعاء ووقت الحوسبة وحركة مرور بيانات الإنترنت بدون أي تكلفة. ومع ذلك، تتكبّد عمليات نشر الدوال رسومًا صغيرة مقابل مساحة التخزين المستخدَمة لحاوية الدالة. لمعرفة التفاصيل، يُرجى الاطّلاع على الأسئلة الشائعة.
تشمل الحصص المخصّصة لـ "Cloud Functions" 4 مجالات:
الحدود القصوى لاستخدام الموارد
وتؤثّر هذه الحدود في إجمالي كمية الموارد التي يمكن أن تستخدمها الدوال.
الحدود الزمنية
وتؤثر هذه العوامل في مدة تشغيل التطبيقات.
القيود على المعدل
تؤثّر هذه الحدود في معدّل إمكانية طلب البيانات من واجهة برمجة التطبيقات Cloud Functions لإدارة الدوال.
الحدود القصوى للشبكات
تؤثر هذه القيود في حدود الاتصال الصادر وحدود المثيلات.
في ما يلي وصف مفصّل لأنواع الحدود المختلفة. يتم توضيح الاختلافات بين حدود 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 ميغابايت للأحداث السابقة |
لا | لكل حدث |
| ذاكرة الدالة Max | مقدار الذاكرة التي يمكن أن يستخدمها كل مثيل دالة | 8 غيبيبايت | 32 غيبيبايت | لا | لكل دالة |
| الحدّ الأقصى لذاكرة المشروع | مقدار الذاكرة، بالبايت، التي يمكن أن يستخدمها المشروع ويتم قياسه من خلال إجمالي الذاكرة التي طلبها المستخدمون في جميع مثيلات الدوال على مدار دقيقة واحدة. | يعتمد ذلك على المنطقة المحدّدة. قد يكون هذا الحدّ أعلى في المناطق ذات السعة العالية أو أقل في المناطق التي تم افتتاحها مؤخرًا. | لا ينطبق | نعم | لكل مشروع ومنطقة |
| الحد الأقصى لوحدة المعالجة المركزية (CPU) للمشروع | مقدار وحدة المعالجة المركزية (CPU) التي يمكن أن يستخدمها المشروع، بوحدة vCPU بالملّي. ويتم قياسه من خلال إجمالي وحدة المعالجة المركزية التي طلبها المستخدمون في جميع مثيلات الدوال على مدار دقيقة واحدة. | يعتمد ذلك على المنطقة المحدّدة. قد يكون هذا الحدّ أعلى في المناطق ذات السعة العالية أو أقل في المناطق التي تم افتتاحها مؤخرًا. | لا ينطبق | نعم | لكل مشروع ومنطقة |
الحدود الزمنية
| الحصة | الوصف | الحدّ الأقصى (الجيل الأول) | الحدّ الأقصى (الجيل الثاني) | يمكن زيادتها | النطاق |
|---|---|---|---|---|---|
| الحد الأقصى لمدة تنفيذ الدالة | الحدّ الأقصى لمدة تشغيل الدالة قبل إيقافها بالقوة | 540 ثانية |
|
لا | لكل عملية استدعاء |
القيود على المعدل
| الحصة | الوصف | الحدّ الأقصى (الجيل الأول) | الحدّ الأقصى (الجيل الثاني) | يمكن زيادتها | النطاق |
|---|---|---|---|---|---|
| طلبات البيانات من واجهة برمجة التطبيقات (READ) | طلبات وصف الدوال أو إدراجها من خلال واجهة برمجة التطبيقات Cloud Functions | 5,000 طلب في كل 100 ثانية | 1,200 في 60 ثانية | الجيل الأول فقط | لكل مشروع (الجيل الأول) لكل منطقة (الجيل الثاني) |
| طلبات البيانات من واجهة برمجة التطبيقات (WRITE) | طلبات نشر الدوال أو حذفها من خلال واجهة برمجة التطبيقات Cloud Functions | 80 لكل 100 ثانية | 60 في 60 ثانية | لا 1 | لكل مشروع (الجيل الأول) لكل منطقة (الجيل الثاني) |
| طلبات البيانات من واجهة برمجة التطبيقات (CALL) | طلبات البيانات من واجهة برمجة التطبيقات "call" | 16 لكل 100 ثانية | لا ينطبق | لا 2 | لكل مشروع |
حدود الاتصال بالشبكة
للحصول على معلومات حول حدود طلبات الشبكة وعرض النطاق الترددي في Cloud Functions (الجيل الثاني)، يُرجى الاطّلاع على حدود الشبكة.
تنطبق حدود الشبكة التالية على Cloud Functions (الجيل الأول):
- عمليات الربط الصادرة في الثانية لكل مثيل: 500 (لا يمكن زيادتها)
- عمليات التحويل باستخدام نظام أسماء النطاقات (DNS) الصادرة في الثانية لكل مثيل: 100 (لا يمكن زيادتها)
- الحد الأقصى للحِزم في الثانية لكل آلة افتراضية: 80,000
- الحد الأقصى لوحدات البت في الثانية لكل مثيل: 100,000,000
قابلية التوسّع
يتم استدعاء وظائف Cloud Functions من خلال زيادة عدد مثيلات HTTP بسرعة للتعامل مع الزيارات الواردة، بينما يتم توسيع نطاق وظائف الخلفية بشكل تدريجي. تتأثر قدرة الدالة على التوسّع بعدة عوامل، بما في ذلك:
- مقدار الوقت الذي يستغرقه إكمال تنفيذ إحدى الدوال (يمكن عادةً توسيع نطاق الدوال التي يتم تنفيذها بسرعة للتعامل مع المزيد من الطلبات المتزامنة).
- مقدار الوقت الذي تستغرقه الدالة في التهيئة عند التشغيل على البارد
- معدّل الأخطاء في الدالة
العوامل المؤقتة، مثل الحمل الإقليمي وسعة مركز البيانات
حصص إضافية للوظائف التي تعمل في الخلفية
| الحصة | الوصف | الحدّ | يمكن زيادتها | النطاق | إصدار المنتج |
|---|---|---|---|---|---|
| الحد الأقصى لعدد الاستدعاءات المتزامنة | الحد الأقصى لعمليات الاستدعاء المتزامنة لدالة واحدة مثال: إذا استغرقت معالجة كل حدث 100 ثانية، سيتم حصر معدّل الاستدعاء بـ 30 عملية في الثانية في المتوسط |
3000 | نعم | لكل دالة | الجيل الأول فقط |
| الحدّ الأقصى لعدد مرات الاستدعاء | الحد الأقصى لمعدّل معالجة الأحداث بواسطة دالة واحدة مثال: إذا استغرقت معالجة حدث معيّن 100 ملي ثانية، سيتم حصر معدّل الاستدعاء على 1000 استدعاء في الثانية حتى إذا تمت معالجة 100 طلب فقط، في المتوسط، بالتوازي |
1,000 في الثانية | لا | لكل دالة | الجيل الأول فقط |
| الحد الأقصى لحجم بيانات الأحداث المتزامنة | الحد الأقصى للحجم الإجمالي للأحداث الواردة إلى عمليات الاستدعاء المتزامنة لدالة واحدة مثال: إذا كان حجم الأحداث 1 ميغابايت واستغرقت معالجتها 10 ثوانٍ، سيكون المعدل المتوسط حدثًا واحدًا في الثانية، لأنّه لن تتم معالجة الحدث الحادي عشر إلا بعد الانتهاء من معالجة أحد الأحداث العشرة الأولى |
10 ميغابايت | لا | لكل دالة | الجيل الأول والجيل الثاني |
| الحدّ الأقصى لسرعة معالجة البيانات للأحداث الواردة | الحد الأقصى لسرعة معالجة البيانات للحدث الوارد إلى دالة واحدة مثال: إذا كان حجم الأحداث 1 ميغابايت، يمكن أن يكون معدل الاستدعاء 10 كحد أقصى في الثانية، حتى إذا انتهت الدوال في غضون 100 ملي ثانية |
10 ميغابايت في الثانية | لا | لكل دالة | الجيل الأول والجيل الثاني |
عند بلوغ الحدّ الأقصى للحصة
عندما تستهلك إحدى الدوال كل الموارد المخصّصة، يصبح المورد غير متاح إلى أن يتم تجديد الحصة أو زيادتها. وقد يعني ذلك أنّ الدالة وجميع الدوال الأخرى في المشروع نفسه لن تعمل حتى ذلك الحين. تعرض الدالة رمز خطأ HTTP 500 عندما يتجاوز أحد الموارد الحصة المحددة ولا يمكن تنفيذ الدالة.
لزيادة الحصص عن القيم التلقائية المدرَجة هنا، انتقِل إلى Cloud Functions صفحة "الحصص"، واختَر الحصص التي تريد تعديلها، ثم انقر على تعديل الحصص، وقدِّم معلومات المستخدم إذا طُلب منك ذلك، وأدخِل حد الحصة الجديد لكل حصة اخترتها.
حدود الحصة المتاحة لعمليات النشر باستخدام Firebase CLI
تتأثر أنواع حدود المعدّل والوقت التالية لكل دالة تنشرها Firebase CLI:
- طلبات البيانات من واجهة برمجة التطبيقات (READ): طلب واحد لكل عملية نشر، بغض النظر عن عدد الدوال
- الحدّ الأقصى: 5,000 طلب كل 100 ثانية
- طلبات البيانات من واجهة برمجة التطبيقات (WRITE) - طلب واحد لكل دالة
- الحدّ الأقصى: 80 طلبًا كل 100 ثانية
يمكنك أيضًا الاطّلاع على مرجع Firebase CLI.