Share via


Criteri di sandbox

Alcuni plug-in vengono eseguiti all'interno di sandbox le cui risorse disponibili sono limitate e controllate per la sicurezza e per la governance delle risorse.

Le sandbox vengono eseguite nei nodi del cluster. Alcune delle relative limitazioni sono definite nei criteri sandbox, in cui ogni tipo di sandbox può avere criteri specifici.

I criteri sandbox vengono gestiti a livello di cluster e influiscono su tutti i nodi del cluster.

Autorizzazioni

Per eseguire questo comando, è necessario disporre delle autorizzazioni AllDatabasesAdmin .

Oggetto criteri

I criteri sandbox hanno le proprietà seguenti.

  • SandboxKind: definisce il tipo di sandbox (ad esempio, PythonExecution, RExecution).
  • IsEnabled: definisce se le sandbox di questo tipo possono essere eseguite nei nodi del cluster.
    • Il valore predefinito è false.
  • InitializeOnStartup: definisce se le sandbox di questo tipo vengono inizializzate all'avvio o in modo differinte al primo uso.
    • Il valore predefinito è false. Per garantire prestazioni coerenti ed evitare ritardi per l'esecuzione di query dopo il riavvio del servizio, impostare questa proprietà su true.
  • TargetCountPerNode: definisce il numero di sandbox di questo tipo consentite per l'esecuzione nei nodi del cluster.
    • I valori possono essere compresi tra uno e due volte il numero di processori per nodo.
    • Il valore predefinito è 16.
  • MaxCpuRatePerSandbox: definisce la frequenza massima della CPU come percentuale di tutti i core disponibili che un'unica sandbox può usare.
    • I valori possono essere compresi tra 1 e 100.
    • Il valore predefinito è 50.
  • MaxMemoryMbPerSandbox: definisce la quantità massima di memoria (in megabyte) che può essere usata da una singola sandbox.
    • Per le sandbox della tecnologia Hyper-V, i valori possono essere compresi tra 200 e 32768 (32 GB). Il valore predefinito è 1024 (1 GB). La memoria massima di tutti i sandbox in un nodo (TargetCountPerNode * MaxMemoryMbPerSandbox) è 32768 (32 GB).
    • Per le sandbox legacy, i valori possono essere compresi tra 200 e 65536 (64 GB). Il valore predefinito è 20480 (20 GB).

Se un criterio non è definito in modo esplicito per un tipo sandbox, un criterio implicito con i valori predefiniti e IsEnabled impostato su true si applica.

Esempio

I criteri seguenti impostano limiti diversi per PythonExecution e RExecution sandbox:

[
  {
    "SandboxKind": "PythonExecution",
    "IsEnabled": true,
    "InitializeOnStartup": false,
    "TargetCountPerNode": 4,
    "MaxCpuRatePerSandbox": 55,
    "MaxMemoryMbPerSandbox": 8192
  },
  {
    "SandboxKind": "RExecution",
    "IsEnabled": true,
    "InitializeOnStartup": false,
    "TargetCountPerNode": 2,
    "MaxCpuRatePerSandbox": 50,
    "MaxMemoryMbPerSandbox": 10240
  }
]

Nota

  • Potrebbe verificarsi un ritardo massimo di cinque minuti fino a quando la modifica dei criteri non diventa effettiva, perché il cluster deve riciclare le sandbox preallocate prima della modifica dei criteri.