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