Zasady piaskownicy

Niektóre wtyczki są uruchamiane w piaskownicach , których dostępne zasoby są ograniczone i kontrolowane pod kątem zabezpieczeń i ładu zasobów.

Piaskownice są uruchamiane w węzłach klastra. Niektóre z ich ograniczeń są definiowane w zasadach piaskownicy, w których każdy rodzaj piaskownicy może mieć własne zasady.

Zasady piaskownicy są zarządzane na poziomie klastra i mają wpływ na wszystkie węzły w klastrze.

Uprawnienia

Aby uruchomić to polecenie, musisz mieć uprawnienia AllDatabasesAdmin .

Obiekt zasad

Zasady piaskownicy mają następujące właściwości.

  • SandboxKind: definiuje typ piaskownicy (np. PythonExecution, RExecution).
  • IsEnabled: określa, czy piaskownice tego typu mogą być uruchamiane w węzłach klastra.
    • Wartość domyślna to false.
  • InitializeOnStartup: określa, czy piaskownice tego typu są inicjowane podczas uruchamiania, czy z opóźnieniem podczas pierwszego użycia.
    • Wartość domyślna to false. Aby zapewnić spójną wydajność i uniknąć opóźnień w uruchamianiu zapytań po ponownym uruchomieniu usługi, ustaw tę właściwość na true.
  • TargetCountPerNode: określa, ile piaskownic tego typu może być uruchamianych w węzłach klastra.
    • Wartości mogą należeć do jednego i dwukrotnie większej liczby procesorów na węzeł.
    • Wartość domyślna to 16.
  • MaxCpuRatePerSandbox: definiuje maksymalną szybkość procesora JAKO procent wszystkich dostępnych rdzeni, z których może korzystać pojedyncza piaskownica.
    • Wartości mogą należeć do zakresu od 1 do 100.
    • Wartość domyślna to 50.
  • MaxMemoryMbPerSandbox: definiuje maksymalną ilość pamięci (w megabajtach), z których może korzystać pojedyncza piaskownica.
    • W przypadku piaskownic technologii Hyper-V wartości mogą należeć do zakresu od 200 do 32768 (32 GB). Wartość domyślna to 1024 (1 GB). Maksymalna ilość pamięci wszystkich piaskownic w węźle (TargetCountPerNode * MaxMemoryMbPerSandbox) wynosi 32768 (32 GB).
    • W przypadku starszych piaskownic wartości mogą należeć do zakresu od 200 do 65536 (64 GB). Wartość domyślna to 20480 (20 GB).

Jeśli zasady nie są jawnie zdefiniowane dla rodzaju piaskownicy, zasady niejawne z wartościami domyślnymi i IsEnabled ustawione do true zastosowania.

Przykład

Następujące zasady ustawiają różne limity dla PythonExecution piaskownic i 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
  }
]

Uwaga

  • Może wystąpić opóźnienie do pięciu minut, aż zmiana zasad zacznie obowiązywać, ponieważ klaster musi ponownie przetwarzać piaskownice, które zostały wstępnie przydzielone przed zmianą zasad.