Share via


Sandboxes

Kusto kann Sandboxes für bestimmte Flows ausführen, die in einer sicheren und isolierten Umgebung ausgeführt werden müssen. Beispiele für diese Flows sind benutzerdefinierte Skripts, die mit dem Python-Plug-In oder dem R-Plug-In ausgeführt werden.

Sandboxes werden lokal ausgeführt (d. h., die Verarbeitung erfolgt in der Nähe der Daten), ohne zusätzliche Latenz für Remoteaufrufe.

Voraussetzungen und Einschränkungen

Typ

  • Ein Abfrageoperator mit Sandkasten kann eine oder mehrere Sandboxes für die Ausführung verwenden.
    • Eine Sandbox wird nur für eine einzelne Abfrage verwendet und nach Abschluss dieser Abfrage gelöscht.
    • Wenn ein Knoten neu gestartet wird, z. B. im Rahmen eines Dienstupgrades, werden alle darauf ausgeführten Sandboxes verworfen.
  • Jeder Knoten verwaltet eine vordefinierte Anzahl von Sandboxes, die für die Ausführung eingehender Anforderungen bereit sind.
    • Sobald eine Sandbox verwendet wird, wird automatisch eine neue zur Verfügung gestellt, um sie zu ersetzen.
  • Wenn keine vorab zugeordneten Sandboxes für die Bereitstellung eines Abfrageoperators verfügbar sind, wird dieser gedrosselt, bis neue Sandboxes verfügbar sind. Weitere Informationen finden Sie unter Fehler. Die neue Sandboxzuordnung kann je nach SKU und verfügbaren Ressourcen auf dem Datenknoten bis zu 10 bis 15 Sekunden pro Sandbox dauern.

Sandboxparameter

Einige der Parameter können mit einer Sandboxrichtlinie auf Clusterebene für jede Art von Sandbox gesteuert werden.

  • Anzahl von Sandboxes pro Knoten: Die Anzahl der Sandboxes pro Knoten ist begrenzt.
    • Anforderungen, die ausgeführt werden, wenn keine verfügbare Sandbox vorhanden ist, werden gedrosselt.
  • Initialisieren beim Start: Bei Festlegung auf false (Standard) werden Sandboxes auf einem Knoten verzögert initialisiert, wenn eine Abfrage zum ersten Mal eine Sandbox für die Ausführung benötigt. Andernfalls werden Sandboxes bei Festlegung auf trueals Teil des Dienststarts initialisiert.
    • Dies bedeutet, dass die erste Ausführung eines Plug-Ins, das Sandboxes auf einem Knoten verwendet, eine kurze Aufwärmphase umfasst.
  • CPU: Die maximale CPU-Rate, die eine Sandbox von den Prozessoren des Hosts nutzen kann, ist begrenzt (Standardwert ist 50%).
    • Wenn der Grenzwert erreicht ist, wird die CPU-Auslastung der Sandbox gedrosselt, die Ausführung wird jedoch fortgesetzt.
  • Speicher: Die maximale RAM-Menge, die eine Sandbox vom RAM des Hosts verbrauchen kann, ist begrenzt.
    • Der Standardarbeitsspeicher für die Hyper-V-Technologie beträgt 1 GB und für Legacysandkasten 20 GB.
    • Das Erreichen des Grenzwerts führt zur Beendigung der Sandbox und zu einem Abfrageausführungsfehler.

Sandbox-Einschränkungen

  • Netzwerk: Eine Sandbox kann mit keiner Ressource auf dem virtuellen Computer (VM) oder außerhalb des Virtuellen Computers interagieren.
    • Eine Sandbox kann nicht mit einer anderen Sandbox interagieren.

Hinweis

Die mit der Sandbox verwendeten Ressourcen hängen nicht nur von der Größe der Daten ab, die im Rahmen der Anforderung verarbeitet werden, sondern auch von der Logik, die in der Sandbox ausgeführt wird, und von der Implementierung der Bibliotheken, die von der Sandbox verwendet werden. Für das python Plug-In und r bedeutet letzteres beispielsweise das vom Benutzer bereitgestellte Skript und die Python- oder R-Bibliotheken, die zur Laufzeit verwendet werden.

Errors

ErrorCode Status Meldung Potenzieller Grund
E_SB_QUERY_THROTTLED_ERROR TooManyRequests (429) Die Sandkastenabfrage wurde aufgrund einer Drosselung abgebrochen. Wiederholungsversuche nach einem Backoff sind möglicherweise erfolgreich. Auf dem Zielknoten sind keine Sandboxes verfügbar. Neue Sandboxes sollten in wenigen Sekunden verfügbar sein
E_SB_QUERY_THROTTLED_ERROR TooManyRequests (429) Sandboxes der Art "{kind}" wurden noch nicht initialisiert. Die Sandboxrichtlinie wurde kürzlich geändert. Neue Sandboxes, die der neuen Richtlinie folgen, werden in wenigen Sekunden verfügbar.
InternalServiceError (520) Die Sandkastenabfrage wurde aufgrund eines Fehlers bei der Initialisierung von Sandboxes abgebrochen. Unerwarteter Infrastrukturfehler.

VM-Größen, die geschachtelte Virtualisierung unterstützen

In der folgenden Tabelle sind alle modernen VM-Größen aufgeführt, die die Hyper-V-Sandboxtechnologie unterstützen.

Name Kategorie
Standard_L8s_v3 Speicheroptimiert
Standard_L16s_v3 Speicheroptimiert
Standard_L8as_v3 Speicheroptimiert
Standard_L16as_v3 Speicheroptimiert
Standard_E8as_v5 Speicheroptimiert
Standard_E16as_v5 Speicheroptimiert
Standard_E8s_v4 Speicheroptimiert
Standard_E16s_v4 Speicheroptimiert
Standard_E8s_v5 Speicheroptimiert
Standard_E16s_v5 Speicheroptimiert
Standard_E2ads_v5 Compute-optimiert
Standard_E4ads_v5 Compute-optimiert
Standard_E8ads_v5 Compute-optimiert
Standard_E16ads_v5 Compute-optimiert
Standard_E2d_v4 Compute-optimiert
Standard_E4d_v4 Compute-optimiert
Standard_E8d_v4 Compute-optimiert
Standard_E16d_v4 Compute-optimiert
Standard_E2d_v5 Compute-optimiert
Standard_E4d_v5 Compute-optimiert
Standard_E8d_v5 Compute-optimiert
Standard_E16d_v5 Compute-optimiert
Standard_D32d_v4 Compute-optimiert