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