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