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