Limites et quotas pour Code Engine

Les sections suivantes fournissent des détails techniques sur les paramètres de limitation et de quota de IBM Cloud® Code Engine.

En quoi l'allocation de mes ressources influe-t-elle sur les quotas de mon projet et sur la facturation?

Vous pouvez afficher dans la console des informations relatives à l'allocation de ressources Code Engine depuis la page de présentation de votre projet. Si vous souhaitez afficher des informations sur la mémoire allouée et les valeurs d' vCPU, en fonction de la configuration que vous avez définie pour chaque application ou tâche spécifique, consultez la liste de vos applications ou tâches dans votre projet. Avec l'interface de ligne de commande, vous pouvez également obtenir des informations concernant votre utilisation actuelle de l'allocation de ressources pour le projet à l'aide de la commande project get.

Avec « Code Engine », vous ne payez que les ressources que vous utilisez, en fonction de la mémoire et de l’ vCPU s configurées consommées par vos charges de travail, ainsi que des appels « HTTP » entrants. Si votre application passe à zéro ou si votre tâche ou votre compilation ne s'exécute pas, vous ne consommez pas de ressources et ne payez donc rien. Pour héberger toutes vos applications et travaux, Code Engine déploie et gère l'infrastructure nécessaire pour vous. Cependant, bien que cette infrastructure ne soit pas facturée, elle est comptabilisée dans les quotas du projet. Pour plus d'informations sur les quotas, voir les tableaux suivants.

L'utilisation du stockage éphémère est désormais limitée par la mémoire. Le stockage éphémère dans Code Engine ne peut pas dépasser la valeur par défaut de 0.4 GB (400 MB) ou la valeur configurée pour la mémoire. Si vous avez besoin de plus que la valeur par défaut pour le stockage éphémère, vous devez augmenter votre mémoire en fonction des combinaisons valables de vCPU et de mémoire.

Voir Combinaisons de mémoire et de CPU prises en charge pour plus d'informations sur la relation entre le stockage éphémère et la mémoire.

Valeurs par défaut et limites de l'application

Le tableau ci-après répertorie les limites relatives aux applications :

Limites des applications
Catégorie Valeur par défaut Valeur maximale Besoin d'étendre le maximum ?
UC 1.0 12.0 Contactez le support IBM
Stockage éphémère 400 M 48 G
(limité par la mémoire)
Contactez le support IBM
Mise à l'échelle maximale 10 250 Contactez le support IBM
Mémoire 4 G 48 G Contactez le support IBM
Mise à l'échelle minimale 0 250 Contactez le support IBM
Accès simultanés 100 1000 Contactez le support IBM
Délai d'attente 300 secondes 600 secondes Contactez le support IBM

Pour plus d'informations sur les combinaisons de mémoire et d'unité centrale prises en charge, voir Combinaisons de mémoire et d'unité centrale prises en charge.

Code Engine a des limites pour les applications d'un projet.

  • Vous êtes limité à 40 applications par projet.
  • Vous disposez d'un maximum de 120 révisions pour l'ensemble des applications d'un même projet.

Code Engine ne prend pas en charge la sursollicitation des ressources d'application. Par conséquent, si vous créez une application à l'aider de l'API ou avec kubectl apply -f <yaml>, les valeurs pour Resource.Requests etResource.Limits pour CPU, Memory, etEphemeral Storage doivent être spécifiés et absolument être similaires.

Valeurs par défaut et limites du tâches

Le tableau ci-après répertorie les limites relatives aux travaux :

Limites relatives aux travaux
Catégorie Valeur par défaut Valeur maximale Besoin d'étendre le maximum ?
Index de tableau 0 9999999 Contactez le support IBM
Taille de tableau 1 1000 N/A
UC 1.0 12.0 Contactez le support IBM
Stockage éphémère 400 M 48 G
(limité par la mémoire)
Contactez le support IBM
Mémoire 4 G 48 G Contactez le support IBM
Nombre de nouvelles tentatives 3 5 Contactez le support IBM
Délai d'attente 7 200 secondes (2 heures) 86400 secondes (24 heures) Contactez le support IBM

Les indices de tableau sont des listes séparées par des virgules ou une plage d'indices séparée par des tirets, qui spécifie les instances de tâche à exécuter; par exemple, 1,3,6,9 ou 1-5,7-8,10.

La taille du tableau correspond au nombre d'instances de tâche à exécuter en parallèle.

Pour plus d'informations sur les combinaisons de mémoire et d'unité centrale prises en charge, voir Combinaisons de mémoire et d'unité centrale prises en charge.

Code Engine est limité à 100 travaux par projet. Une fois que 100 tâches ont été lancées, veillez à supprimer les anciennes tâches avant d'en lancer de nouvelles.

Limite de taille des travaux

Code Engine limite la taille des travaux et des exécutions de travail à 10 kibioctets maximum. Lorsque vous créez ou mettez à jour des travaux et des exécutions de travail avec la console, l'interface de ligne de commande ou l'API, Code Engine vérifie la taille du travail ou de l'exécution du travail. Si l'opération dépasse la limite, vous recevez une erreur indiquant le dépassement de la taille limite. Si cette erreur s'affiche, essayez de réduire la taille de votre tâche ou de son exécution en procédant de l'une des manières suivantes.

  • Si vous utilisez des commandes et des arguments, essayez de réduire l'utilisation de ces options, de les abréger ou de les transférer dans l'image de conteneur utilisée par votre travail ou votre exécution de travail.

  • Si vous utilisez des variables d'environnement, essayez de réduire leur utilisation ou de les rendre plus courtes. Vous pouvez utiliser des secrets ou des mappes de configuration pour définir des variables d'environnement et les importer dans le travail à l'aide des options --env-from-secret ou --env-from-configmap avec les commandes job create, job update, jobrun submit et jobrun resubmit.

Pour plus d'informations sur le dépannage des tâches, consultez la section « Dépannage - Pourquoi ne puis-je pas lancer une tâche? ».

Limites de fonction

Le tableau suivant présente les limites des fonctions.

Limites de fonction
Catégorie Maximum
Durée d'exécution 120 secondes
Mémoire 48 000 Mo
Taille du corps de la demande et du corps de la réponse 5 Mo
Taille du code (en ligne) 100 KB, y compris base64 overhead
Taille du code (source locale) 200 Mo compressés
Taille du code (API) 100 KB, y compris base64 overhead

Limites des abonnements au temporisateur périodique (cron)

Le tableau suivant énumère les limites de l'abonnement à la minuterie périodique.

Limites de la minuterie périodique
Catégorie Maximum Besoin d'étendre le maximum ?
Taille des données 4096 octets Contactez le support IBM

Code Engine limite la taille des données pour les événements de temporisateur périodique (cron) à 4096 octets. Lorsque vous créez ou mettez à jour ce type d'événement, Code Engine vérifie la taille des données d'événement cron. Si elle est supérieure à la limite, une erreur indiquant que la limite de taille a été dépassée est émise. Dans ce cas, essayez de réduire la taille des données d'événement cron pour qu'elle soit inférieure à 4096 octets.

Pour plus d'informations sur le traitement des incidents liés aux abonnements, voir Débogage des abonnements.

Limites de projet

Le tableau ci-dessous présente les limites applicables aux projets.

Limites de projet
Catégorie Maximum Besoin d'étendre le maximum ?
Projet par région 20 Contactez le support IBM

Le nombre maximal de projets inclut les projets actifs et tous les projets qui n'ont pas été supprimés définitivement. Lorsque vous supprimez un projet, celui-ci fait l'objet d'une suppression temporaire et peut être restauré dans un délai de 7 jours avant d'être définitivement supprimé. Utilisez la console ou l'interface de ligne de commande pour afficher les projets ayant fait l'objet d'une suppression logicielle. Pour plus d'informations, voir Suppression d'un projet.

Quotas de projet

Le tableau ci-après répertorie les quotas pour les projets.

Il faut savoir que les limites s'appliquent indépendamment les unes des autres au sein d'un projet. Si une limite est atteinte, par exemple la limite de 512 Go de mémoire, cette limite de quota peut avoir un impact sur la capacité à exécuter une charge de travail, même si une autre limite n'est pas encore atteinte, par exemple 250 instances d'applications ou de travaux.

Quotas de projet
Catégorie Description
Applis Vous êtes limité à 40 applications par projet.
Révisions de l'application Vous disposez d'un maximum de 120 révisions pour l'ensemble des applications d'un même projet.
Générations Vous êtes limité à 100 configurations de génération par projet.
Exécutions de génération Vous êtes limité à 100 exécutions de génération par projet avant qu'il soit nécessaire de supprimer ou de nettoyer d'anciennes exécutions.
Mappes de configuration Vous êtes limité à 100 mappes de configuration par projet.
UC La combinaison totale de toutes les instances de l'application, des instances de travail en cours d'exécution et des instances de construction en cours d'exécution ne peut pas dépasser 128 vCPU.
Correspondance des domaines (personnalisée) Vous êtes limité à 80 mappages de domaines personnalisés par projet.
Stockage éphémère La combinaison totale de toutes les instances de l'application, des instances de travail en cours d'exécution et des instances de construction en cours d'exécution ne peut pas dépasser 512 G de stockage éphémère.
Flottes Vous êtes limité à 1 000 flottes par projet.
Fonctions Vous êtes limité à 20 fonctions par projet.
Instances (actives) Le nombre d'instances d'application, d'instances de fonction, d'instances de tâche en cours d'exécution et d'instances de build en cours d'exécution ne peut pas dépasser 250.
Instances (total) Le nombre d'instances actives et d'instances de travail et de génération terminées ne peut pas dépasser 2500.
Travaux Vous êtes limité à 100 travaux par projet.
Exécutions de travail Vous êtes limité à 100 exécutions de travail par projet avant qu'il soit nécessaire de supprimer ou de nettoyer d'anciennes exécutions.
Mémoire La combinaison totale de toutes les instances de l'application, des instances de travail en cours d'exécution et des instances de construction en cours d'exécution ne peut pas dépasser 512 G de mémoire.
Secrets Vous êtes limité à 100 secrets par projet.
Abonnements (IBM Cloud Object Storage) Vous êtes limité à 100 abonnements (Object Storage) par projet.
Pools de sous-réseaux Vous êtes limité à 1000 pools de sous-réseaux par projet.
Abonnements ( Kafka / IBM® Event Streams for IBM Cloud® ) Vous ne pouvez pas dépasser 100 abonnements à « Kafka » par projet.
Abonnements (Temporisateur périodique (cron)) Vous êtes limité à 100 abonnements au temporisateur périodique (cron) par projet.

Par exemple, vous êtes limité à 128 vCPU ou à 250 instances actives d'une application ou d'un travail. Comme chaque limite s'applique indépendamment des autres, supposons que vous souhaitiez faire évoluer une application vers 250 instances avec 0.125 VCPU. Ces valeurs donnent environ 32 vCPU,, ce qui fonctionne puisque ce résultat est inférieur au maximum de 128 vCPU. Cependant, vous ne pouvez pas utiliser 512 instances avec 0.125 vCPU,, ce qui respecterait le maximum de 128 vCPU, mais enfreindrait la limite de 250 instances.

Augmentation des limites

Les valeurs limites sont fixes, mais peuvent être augmentes en contactant le support IBM et en créant une demande de support.