Compartir vía


Directiva de espacio aislado

Algunos complementos se ejecutan dentro de espacios aislados cuyos recursos disponibles están limitados y controlados para la seguridad y para la gobernanza de recursos.

Los espacios aislados se ejecutan en los nodos del clúster. Algunas de sus limitaciones se definen en las directivas de espacio aislado, donde cada tipo de espacio aislado puede tener su propia directiva.

Las directivas de espacio aislado se administran en el nivel de clúster y afectan a todos los nodos del clúster.

Permisos

Debe tener permisos AllDatabasesAdmin para ejecutar este comando.

El objeto de directiva

Una directiva de espacio aislado tiene las siguientes propiedades.

  • SandboxKind: define el tipo del espacio aislado (por ejemplo, PythonExecution, RExecution).
  • IsEnabled: define si los espacios aislados de este tipo se pueden ejecutar en los nodos del clúster.
    • El valor predeterminado es false.
  • InitializeOnStartup: define si los espacios aislados de este tipo se inicializan al iniciarse, o de forma diferir, al usarse por primera vez.
    • El valor predeterminado es false. Para garantizar un rendimiento coherente y evitar retrasos en la ejecución de consultas después del reinicio del servicio, establezca esta propiedad en true.
  • TargetCountPerNode: define cuántos espacios aislados de este tipo se pueden ejecutar en los nodos del clúster.
    • Los valores pueden estar entre uno y dos veces el número de procesadores por nodo.
    • El valor predeterminado es 16.
  • MaxCpuRatePerSandbox: define la velocidad máxima de CPU como porcentaje de todos los núcleos disponibles que puede usar un único espacio aislado.
    • Los valores pueden estar comprendidos entre 1 y 100.
    • El valor predeterminado es 50.
  • MaxMemoryMbPerSandbox: define la cantidad máxima de memoria (en megabytes) que puede usar un único espacio aislado.
    • En el caso de los espacios aislados tecnológicos de Hyper-V, los valores pueden estar comprendidos entre 200 y 32768 (32 GB). El valor predeterminado es 1024 (1 GB). La memoria máxima de todos los espacios aislados de un nodo (TargetCountPerNode * MaxMemoryMbPerSandbox) es de 32768 (32 GB).
    • En el caso de los espacios aislados heredados, los valores pueden estar comprendidos entre 200 y 65536 (64 GB). El valor predeterminado es 20480 (20 GB).

Si una directiva no se define explícitamente para un tipo de espacio aislado, se aplica una directiva implícita con los valores predeterminados y IsEnabled se establece en true .

Ejemplo

La directiva siguiente establece distintos límites para PythonExecution los espacios aislados y RExecution :

[
  {
    "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

  • Puede haber un retraso de hasta cinco minutos hasta que se aplique el cambio en la directiva, ya que el clúster debe reciclar los espacios aislados que se han asignado previamente antes del cambio de directiva.