Limiti e quote per Code Engine

Le sezioni seguenti forniscono dettagli tecnici sulle impostazioni relative alle limitazioni e alle quote di IBM Cloud® Code Engine.

In che modo l'allocazione delle risorse influisce sulle quote dei progetti e sulla fatturazione?

Dalla console, è possibile visualizzare le informazioni sull'allocazione attuale delle risorse di Code Engine dalla pagina di panoramica del progetto. Se si desidera visualizzare le informazioni sulla memoria allocata e sui valori di vCPU in base a quanto configurato per ogni specifica applicazione o lavoro, visualizzare l'elenco delle applicazioni o dei lavori nel progetto. Con la CLI, è anche possibile ottenere informazioni sull'uso attuale delle risorse allocate per il progetto con il comando project get comando.

Con Code Engine, si pagano solo le risorse utilizzate in base alla memoria configurata e vCPU al consumo dei carichi di lavoro e alle chiamate HTTP in entrata. Se la vostra applicazione scala a zero o il vostro lavoro o build non è in esecuzione, non state consumando risorse e quindi non vi viene addebitato nulla. Per ospitare tutte le applicazioni e i lavori, Code Engine distribuisce e gestisce per voi l'infrastruttura necessaria. Tuttavia, anche se l'infrastruttura non viene fatturata, viene conteggiata ai fini delle quote del progetto. Per ulteriori informazioni sulle quote, consultare le tabelle seguenti.

L'uso dell'archiviazione effimera è ora limitato dalla memoria. La memoria effimera in Code Engine non può superare il valore predefinito di 0.4 GB (400 MB) o il valore configurato per la memoria. Se si necessita di una quantità di memoria superiore a quella predefinita per l'archiviazione effimera, è necessario aumentare la memoria in base alle combinazioni valide di vCPU e memoria.

Per ulteriori informazioni sulla relazione tra memoria e memoria effimera, consultare Combinazioni di memoria e CPU supportate.

Limiti e impostazioni predefinite dell'applicazione

La tabella seguente riporta i limiti relativi alle domande.

Limiti di applicazione
Categoria Valore predefinito Valore massimo Avete bisogno di estendere il massimo?
CPU 1.0 12.0 Contatta il supporto IBM
Archiviazione effimera 400 m 48 G
(limitato dalla memoria)
Contatta il supporto IBM
Scala massima 10 250 Contatta il supporto IBM
Memoria 4 G 48 G Contatta il supporto IBM
Scala minima 0 250 Contatta il supporto IBM
Simultaneità 100 1000 Contatta il supporto IBM
Timeout 300 secondi 600 secondi Contatta il supporto IBM

Per ulteriori informazioni sulle combinazioni di CPU e memoria supportate, vedere Combinazioni di memoria e CPU supportate.

Code Engine ha dei limiti per le applicazioni all'interno di un progetto.

  • Il limite è di 40 app per progetto.
  • Per ogni progetto è previsto un limite massimo di 120 revisioni per tutte le applicazioni.

Code Engine non supporta l'overcommitment delle risorse applicative. Pertanto, se si crea un'applicazione utilizzando l'API o con kubectl apply -f <yaml>, i valori per Resource.Requests e Resource.Limits per CPU, Memory e Ephemeral Storage devono essere specificati e devono essere gli stessi.

Predefiniti e limiti del lavoro

La tabella seguente riporta i limiti relativi ai lavori.

Limiti di lavoro
Categoria Valore predefinito Valore massimo Avete bisogno di estendere il massimo?
Indici array 0 9999999 Contatta il supporto IBM
Dimensione array 1 1000 N/D
CPU 1.0 12.0 Contatta il supporto IBM
Archiviazione effimera 400 m 48 G
(limitato dalla memoria)
Contatta il supporto IBM
Memoria 4 G 48 G Contatta il supporto IBM
Tentativi 3 5 Contatta il supporto IBM
Timeout 7200 secondi (2 ore) 86400 secondi (24 ore) Contatta il supporto IBM

Gli indici della matrice sono elenchi separati da virgole o un intervallo di indici separati da trattini, che specificano le istanze del lavoro da eseguire; ad esempio, 1,3,6,9 o 1-5,7-8,10.

La dimensione dell'array è il numero di istanze di lavoro da eseguire in parallelo.

Per ulteriori informazioni sulle combinazioni di CPU e memoria supportate, vedere Combinazioni di memoria e CPU supportate.

Code Engine è limitato a 100 posti di lavoro per progetto. Dopo l'avvio di 100 lavori, assicurarsi di ripulire i lavori più vecchi prima di avviarne di nuovi.

Limite di dimensione del lavoro

Code Engine limita le dimensioni dei lavori e delle esecuzioni con un massimo di 10 KiB. Quando si creano o aggiornano lavori ed esecuzioni di lavori con la console, la CLI o l'API, Code Engine controlla la dimensione del lavoro o dell'esecuzione del lavoro. Se l'operazione supera il limite, viene dato un errore di superamento del limite di dimensione. Se si riceve questo errore, provare a ridurre le dimensioni del lavoro o dell'esecuzione del lavoro in uno dei modi seguenti.

  • Se si utilizzano comandi e argomenti, provare a ridurre l'uso di queste opzioni, a renderle più brevi o a spostarle nell'immagine del contenitore utilizzata dal lavoro o dall'esecuzione del lavoro.

  • Se si utilizzano variabili d'ambiente, cercare di utilizzare un numero minore di variabili d'ambiente o di renderle più brevi. Si possono usare segreti o configmap per definire le variabili d'ambiente e importarle nel lavoro usando le opzioni --env-from-secret o --env-from-configmap con l'opzione job create, job update, jobrun submit, e jobrun resubmit.

Per ulteriori informazioni sulla risoluzione dei problemi, vedere Risoluzione dei problemi - Perché non riesco a inviare un lavoro?

Limiti di funzione

La tabella seguente riporta i limiti delle funzioni.

Limiti di funzione
Categoria Massimo
Durata del tempo di esecuzione 120 secondi
Memoria 48.000 MB
Dimensione del corpo della richiesta e del corpo della risposta 5 MB
Dimensione del codice (in linea) 100 KB, compreso l'overhead di base64
Dimensione del codice (fonte locale) 200 MB compressi
Dimensione del codice (API) 100 KB, compreso l'overhead di base64

Limiti di sottoscrizione del timer periodico (cron)

La tabella seguente elenca i limiti per la sottoscrizione del timer periodico.

Limiti del timer periodico
Categoria Massimo Avete bisogno di estendere il massimo?
Dimensione dei dati 4096 byte Contatta il supporto IBM

Code Engine limita la dimensione dei dati per gli eventi del timer periodico (cron) con un massimo di 4096 byte. Quando si creano o si aggiornano gli eventi del timer periodico (cron), Code Engine controlla la dimensione dei dati dell'evento cron. Se i dati degli eventi del timer periodico (cron) superano il limite, viene dato un errore di superamento del limite di dimensione. Se si riceve questo errore, provare a ridurre la dimensione dei dati dell'evento cron a meno di 4096 byte.

Per ulteriori informazioni sulla risoluzione dei problemi delle sottoscrizioni, vedere Debug delle sottoscrizioni.

Limiti progetto

La tabella seguente riporta i limiti previsti per i progetti.

Limiti progetto
Categoria Massimo Avete bisogno di estendere il massimo?
Progetto per regione 20 Contatta il supporto IBM

Il numero massimo di progetti comprende i progetti attivi e quelli non eliminati definitivamente. Quando si elimina un progetto, questo viene eliminato in modo soft e può essere ripristinato entro 7 giorni prima di essere eliminato definitivamente. Usare la console o la CLI per visualizzare i progetti eliminati. Per ulteriori informazioni, vedere Eliminazione di un progetto.

Quote progetto

La tabella seguente riporta le quote relative ai progetti.

Tenere presente che i limiti si applicano indipendentemente l'uno dall'altro all'interno di un progetto. Se si raggiunge un limite, ad esempio il limite di 512 GB di memoria, questo limite di quota potrebbe avere un impatto sulla capacità di eseguire un carico di lavoro, anche se un altro limite non è ancora stato raggiunto, ad esempio 250 istanze di applicazioni o lavori.

Quote progetto
Categoria Descrizione
Applicazioni Il limite è di 40 app per progetto.
Revisioni dell'app Per ogni progetto è previsto un limite massimo di 120 revisioni per tutte le applicazioni.
Build Il limite è di 100 configurazioni di build per progetto.
Esecuzioni build Il limite è di 100 build per progetto prima di dover rimuovere o ripulire quelle vecchie.
Mappe di configurazione Il limite è di 100 configmap per progetto.
CPU La combinazione totale di tutte le istanze dell'applicazione, delle istanze di lavoro in esecuzione e delle istanze di compilazione in esecuzione non può superare i 128 vCPU.
Mappature di dominio (personalizzate) Il limite è di 80 mappature di dominio personalizzate per progetto.
Archiviazione effimera La combinazione totale di tutte le istanze dell'applicazione, delle istanze di lavoro in esecuzione e delle istanze di compilazione in esecuzione non può superare i 512 G di memoria effimera.
Flotte Il limite è di 1000 flotte per progetto.
Funzioni Il limite è di 20 funzioni per progetto.
Istanze (attive) Il numero di istanze di app, istanze di funzioni, istanze di lavori in esecuzione e istanze di build in esecuzione non può essere superiore a 250.
Istanze (totale) Il numero di istanze attive e il numero di istanze di lavoro e di costruzione completate non possono superare i 2500.
Lavori Il limite è di 100 lavori per progetto.
Esecuzioni del lavoro È possibile eseguire fino a 100 lavori per progetto prima di dover rimuovere o ripulire quelli vecchi.
Memoria La combinazione totale di tutte le istanze dell'applicazione, delle istanze di lavoro in esecuzione e delle istanze di creazione in esecuzione non può superare i 512 G di memoria.
Segreti Il limite è di 100 segreti per progetto.
Abbonamenti ( IBM Cloud Object Storage ) Il limite è di 100 ( Object Storage ) abbonamenti per progetto.
Pool di sottoreti Il limite è di 1000 pool di sottoreti per progetto.
Abbonamenti ( Kafka / IBM® Event Streams for IBM Cloud® ) Il limite è di 100 abbonamenti a Kafka per progetto.
Sottoscrizioni (timer periodico (cron)) Il limite è di 100 sottoscrizioni a timer periodici (cron) per progetto.

Ad esempio, il limite è di 128 vCPU o 250 istanze attive di un'applicazione o di un lavoro. Poiché ogni limite si applica indipendentemente dagli altri, supponiamo di voler scalare un'applicazione a 250 istanze con 0.125 VCPU. Questi valori danno come risultato circa 32 vCPU, che funziona in quanto questo risultato è inferiore al massimo di 128 vCPU. Tuttavia, non è possibile utilizzare 512 istanze con 0.125 vCPU,, che rispetterebbe comunque il massimo di 128 vCPU, ma violerebbe il limite di 250 istanze.

Limiti crescenti

I valori limite sono fissi, ma possono essere aumentati contattando il supporto di IBM e creando un caso di assistenza.