توضّح هذه الصفحة بالتفصيل الحدود القصوى القابلة للتوسّع والمستندة إلى الاستخدام في Cloud Functions وفقًا لخطة أسعار Blaze المَرِنة. تنطبق هذه الحدود على مشاريع Firebase التي تنشر الدوال في بيئة تشغيل Node.js 10.
توفّر خطة Blaze المَرِنة كميات كبيرة من عمليات الاستدعاء ووقت الحوسبة وحركة مرور بيانات الإنترنت بدون أي تكلفة. ومع ذلك، فإن عمليات نشر الدوال تتحمل رسومًا صغيرة مقابل مساحة التخزين المستخدمة لحاوية الدالة. لمعرفة التفاصيل، يُرجى الاطّلاع على الأسئلة الشائعة.
تشمل حصص Cloud Functions 4 مجالات:
الحدود القصوى لاستخدام الموارد
يؤثر ذلك في إجمالي الموارد التي يمكن أن تستهلكها الدوال.
الحدود الزمنية
وتؤثر هذه العوامل في مدة تشغيل المهام.
القيود على المعدل
وتؤثر هذه الحدود في معدّل طلبات البيانات التي يمكنك إرسالها إلى واجهة برمجة التطبيقات Cloud Functions لإدارة الدوال.
الحدود القصوى للشبكات
وتؤثر هذه الإعدادات في حدود الاتصال الصادر والمثيلات.
في ما يلي تفاصيل أكثر عن الأنواع المختلفة من الحدود. تمت الإشارة إلى الاختلافات بين حدود Cloud Functions (الجيل الأول) وCloud Functions (الجيل الثاني) حيثما ينطبق ذلك.
الحدود القصوى لاستخدام الموارد
تؤثر حدود الموارد في إجمالي كمية الموارد التي يمكن أن تستهلكها الدوال. يكون النطاق الإقليمي لكل مشروع، ويحتفظ كل مشروع بحدوده الخاصة.
| الحصة | الوصف | Limit (الجيل الأول) | Limit (الجيل الثاني) | يمكن زيادتها | النطاق |
|---|---|---|---|---|---|
| عدد الدوال | إجمالي عدد الدوال التي يمكن نشرها لكل منطقة | 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 غيبيبايت | لا | لكل دالة |
| الحد الأقصى لذاكرة المشروع | مقدار الذاكرة، بالبايت، التي يمكن لمشروع استخدامها. ويتم قياسه من خلال إجمالي الذاكرة التي يطلبها المستخدم في جميع نُسخ الدوال خلال دقيقة واحدة. | يختلف ذلك حسب المنطقة المحدّدة. وقد يكون هذا الحدّ أعلى في المناطق ذات السعة العالية أو أقل في المناطق التي تم فتحها مؤخرًا. | لا ينطبق | نعم | لكل مشروع ومنطقة |
| الحد الأقصى لوحدة المعالجة المركزية (CPU) في المشروع | مقدار وحدة المعالجة المركزية (CPU)، بوحدة vCPU، الذي يمكن لمشروع استخدامه. ويتم قياسه من خلال إجمالي مجموع وحدات المعالجة المركزية التي يطلبها المستخدم في جميع نُسخ الدوال على مدار دقيقة واحدة. | يختلف ذلك حسب المنطقة المحدّدة. وقد يكون هذا الحدّ أعلى في المناطق ذات السعة العالية أو أقل في المناطق التي تم فتحها مؤخرًا. | لا ينطبق | نعم | لكل مشروع ومنطقة |
الحدود الزمنية
| الحصة | الوصف | Limit (الجيل الأول) | Limit (الجيل الثاني) | يمكن زيادتها | النطاق |
|---|---|---|---|---|---|
| الحد الأقصى لمدة الدالة | الحد الأقصى للوقت الذي يمكن أن تعمل فيه الدالة قبل إنهائها بالقوة | 540 ثانية |
|
لا | لكل استدعاء |
القيود على المعدل
| الحصة | الوصف | Limit (الجيل الأول) | Limit (الجيل الثاني) | يمكن زيادتها | النطاق |
|---|---|---|---|---|---|
| طلبات البيانات من واجهة برمجة التطبيقات (قراءة) | طلبات وصف الدوال أو إدراجها من خلال واجهة برمجة التطبيقات 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 invoked by HTTP scale up quickly to handle incoming traffic, while background functions scale more gradually. تعتمد قدرة الدالة على التوسّع على بضعة عوامل، منها:
- مقدار الوقت الذي يستغرقه تنفيذ الدالة حتى تكتمل (يمكن للدوال القصيرة التشغيل بشكل عام أن تتوسع للتعامل مع المزيد من الطلبات المتزامنة).
- مقدار الوقت الذي تستغرقه الدالة لبدء التشغيل على البارد.
- معدّل الخطأ في الدالة
العوامل المؤقتة، مثل الحمل الإقليمي وسعة مركز البيانات
الحصص الإضافية للوظائف التي تعمل في الخلفية
| الحصة | الوصف | الحدّ | يمكن زيادتها | النطاق | إصدار المنتج |
|---|---|---|---|---|---|
| الحد الأقصى لعدد الاستدعاءات المتزامنة | الحد الأقصى لعمليات الاستدعاء المتزامنة لدالة واحدة مثال: إذا كانت معالجة كل حدث تستغرق 100 ثانية، سيقتصر معدل الاستدعاء على 30 في الثانية في المتوسط |
3000 | نعم | لكل دالة | الجيل الأول فقط |
| الحد الأقصى لمعدّل الاستدعاء | الحد الأقصى لمعدّل الأحداث التي تعالجها دالة واحدة مثال: إذا كانت معالجة حدث تستغرق 100 ملي ثانية، سيقتصر معدّل الاستدعاء على 1000 في الثانية حتى إذا تمت معالجة 100 طلب فقط في المتوسط بشكل متوازٍ |
1,000 في الثانية | لا | لكل دالة | الجيل الأول فقط |
| الحد الأقصى لحجم بيانات الأحداث المتزامنة | الحد الأقصى للحجم الإجمالي للأحداث الواردة إلى الاستدعاءات المتزامنة
لدالة واحدة مثال: إذا كان حجم الأحداث 1 ميغابايت وتستغرق معالجتها 10 ثوانٍ، سيكون متوسط المعدل حدثًا واحدًا في الثانية، لأن الحدث الحادي عشر لن تتم معالجته حتى تنتهي معالجة أحد الأحداث العشرة الأولى |
10 ميغابايت | لا | لكل دالة | الجيل الأول والجيل الثاني |
| الحد الأقصى لمعدل نقل البيانات للأحداث الواردة | الحد الأقصى لسرعة معالجة الأحداث الواردة إلى دالة واحدة مثال: إذا كان حجم الأحداث 1 ميغابايت، يمكن أن يكون معدل الاستدعاء 10 في الثانية كحد أقصى، حتى إذا انتهت الدوال في غضون 100 ملي ثانية |
10 ميغابايت في الثانية | لا | لكل دالة | الجيل الأول والجيل الثاني |
عند بلوغ الحدّ الأقصى للحصة
عندما تستهلك دالة كل الموارد المخصّصة، يصبح المورد غير متاح إلى أن يتم تجديد الحصة أو زيادتها. وقد يعني ذلك أنّ الدالة وجميع الدوال الأخرى في المشروع نفسه لن تعمل حتى ذلك الحين. تعرض الدالة رمز الخطأ HTTP 500 عندما يتجاوز أحد الموارد الحصة ولا يمكن تنفيذ الدالة.
لزيادة الحصص عن القيم التلقائية المذكورة هنا، انتقِل إلى Cloud Functions صفحة الحصص، واختَر الحصص التي تريد تعديلها، ثم انقر على تعديل الحصص، وقدِّم معلومات المستخدم إذا طُلب منك ذلك، وأدخِل الحدّ الأقصى الجديد لكل حصة اخترتها.
حدود الحصة المخصّصة للنشر في Firebase CLI
بالنسبة إلى كل دالة تنشرها واجهة سطر أوامر Firebase، تتأثر الأنواع التالية من الحدود القصوى للمعدّل والوقت:
- طلبات البيانات من واجهة برمجة التطبيقات (READ): طلب واحد لكل عملية نشر، بغض النظر عن عدد الدوال
- الحدّ الأقصى: 5,000 لكل 100 ثانية
- طلبات البيانات من واجهة برمجة التطبيقات (WRITE): طلب واحد لكل دالة
- الحدّ الأقصى: 80 لكل 100 ثانية
يمكنك أيضًا الاطّلاع على مرجع Firebase CLI.