Sandbox
Si applica a: ✅Azure Esplora dati
Kusto può eseguire sandbox per flussi specifici che devono essere eseguiti in un ambiente sicuro e isolato. Esempi di questi flussi sono script definiti dall'utente eseguiti usando il plug-in Python o il plug-in R.
Le sandbox vengono eseguite localmente (vale a dire l'elaborazione viene eseguita vicino ai dati), senza una latenza aggiuntiva per le chiamate remote.
Prerequisiti e limitazioni
- Le sandbox devono essere eseguite nelle dimensioni delle macchine virtuali che supportano la virtualizzazione annidata, implementata con la tecnologia Hyper-V e senza limitazioni.
- L'immagine per l'esecuzione delle sandbox viene distribuita in ogni nodo del cluster e richiede spazio SSD dedicato per l'esecuzione.
- Le dimensioni stimate sono comprese tra 10 e 20 GB.
- Ciò influisce sulla capacità dei dati del cluster e può influire sul costo del cluster.
esecuzione
- Un operatore di query in modalità sandbox può usare uno o più sandbox per l'esecuzione.
- Una sandbox viene usata solo per una singola query e viene eliminata al termine della query.
- Quando un nodo viene riavviato, ad esempio, come parte di un aggiornamento del servizio, tutti i sandbox in esecuzione su di esso vengono eliminati.
- Ogni nodo gestisce un numero predefinito di sandbox pronte per l'esecuzione delle richieste in ingresso.
- Una volta usata una sandbox, ne viene automaticamente resa disponibile una nuova per sostituirla.
- Se non sono disponibili sandbox preallocate per gestire un operatore di query, verrà limitata fino a quando non sono disponibili nuove sandbox. Per altre informazioni, vedere Errori. La nuova allocazione sandbox può richiedere fino a 10-15 secondi per sandbox, a seconda dello SKU e delle risorse disponibili nel nodo dati.
Parametri sandbox
Alcuni parametri possono essere controllati usando criteri sandbox a livello di cluster, per ogni tipo di sandbox.
- Numero di sandbox per nodo: il numero di sandbox per nodo è limitato.
- Le richieste effettuate quando non è disponibile una sandbox verranno limitate.
- Inizializzazione all'avvio: se impostata su
false
(impostazione predefinita), le sandbox vengono inizializzate in modo differire in un nodo, la prima volta che una query richiede una sandbox per l'esecuzione. In caso contrario, se impostato sutrue
, le sandbox vengono inizializzate come parte dell'avvio del servizio.- Ciò significa che la prima esecuzione di un plug-in che usa sandbox in un nodo includerà un breve periodo di riscaldamento.
- CPU: la frequenza massima della CPU che un sandbox può usare dei processori del relativo host è limitata (il valore predefinito è
50%
).- Quando viene raggiunto il limite, l'uso della CPU della sandbox viene limitato, ma l'esecuzione continua.
- Memoria: la quantità massima di RAM che un sandbox può usare della RAM dell'host è limitata.
- La memoria predefinita per la tecnologia Hyper-V è di 1 GB e per sandbox legacy da 20 GB.
- Il raggiungimento del limite comporta la chiusura della sandbox e un errore di esecuzione della query.
Limitazioni della sandbox
- Rete: una sandbox non può interagire con alcuna risorsa nella macchina virtuale (VM) o all'esterno di essa.
- Una sandbox non può interagire con un'altra sandbox.
Nota
Le risorse usate con sandbox dipendono non solo dalle dimensioni dei dati elaborati come parte della richiesta, ma anche dalla logica eseguita nella sandbox e dall'implementazione delle librerie usate da essa.
Ad esempio, per i python
plug-in e r
, quest'ultimo significa lo script fornito dall'utente e le librerie Python o R utilizzate in fase di esecuzione.
Errori
ErrorCode | Status | Message | Potenziale motivo |
---|---|---|---|
E_SB_QUERY_THROTTLED_ERROR | TooManyRequests (429) | La query in modalità sandbox è stata interrotta a causa della limitazione. Il nuovo tentativo dopo un backoff potrebbe avere esito positivo | Nel nodo di destinazione non sono disponibili sandbox. I nuovi sandbox dovrebbero diventare disponibili in pochi secondi |
E_SB_QUERY_THROTTLED_ERROR | TooManyRequests (429) | Le sandbox di tipo '{kind}' non sono ancora state inizializzate | I criteri sandbox sono stati modificati di recente. I nuovi sandbox che rispettano i nuovi criteri diventeranno disponibili in pochi secondi |
InternalServiceError (520) | La query in modalità sandbox è stata interrotta a causa di un errore durante l'inizializzazione delle sandbox | Errore imprevisto dell'infrastruttura. |
Dimensioni delle macchine virtuali che supportano la virtualizzazione annidata
La tabella seguente elenca tutte le dimensioni moderne delle macchine virtuali che supportano la tecnologia sandbox Hyper-V.
Nome | Categoria |
---|---|
Standard_L8s_v3 | ottimizzato per l'archiviazione |
Standard_L16s_v3 | ottimizzato per l'archiviazione |
Standard_L8as_v3 | ottimizzato per l'archiviazione |
Standard_L16as_v3 | ottimizzato per l'archiviazione |
Standard_E8as_v5 | ottimizzato per l'archiviazione |
Standard_E16as_v5 | ottimizzato per l'archiviazione |
Standard_E8s_v4 | ottimizzato per l'archiviazione |
Standard_E16s_v4 | ottimizzato per l'archiviazione |
Standard_E8s_v5 | ottimizzato per l'archiviazione |
Standard_E16s_v5 | ottimizzato per l'archiviazione |
Standard_E2ads_v5 | ottimizzato per il calcolo |
Standard_E4ads_v5 | ottimizzato per il calcolo |
Standard_E8ads_v5 | ottimizzato per il calcolo |
Standard_E16ads_v5 | ottimizzato per il calcolo |
Standard_E2d_v4 | ottimizzato per il calcolo |
Standard_E4d_v4 | ottimizzato per il calcolo |
Standard_E8d_v4 | ottimizzato per il calcolo |
Standard_E16d_v4 | ottimizzato per il calcolo |
Standard_E2d_v5 | ottimizzato per il calcolo |
Standard_E4d_v5 | ottimizzato per il calcolo |
Standard_E8d_v5 | ottimizzato per il calcolo |
Standard_E16d_v5 | ottimizzato per il calcolo |
Standard_D32d_v4 | ottimizzato per il calcolo |