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.
| 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.
| 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-secreto--env-from-configmapcon l'opzionejob create,job update,jobrun submit, ejobrun 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.
| 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.
| 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.
| 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.
| 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.