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
- Sandboxes, die auf VM-Größen ausgeführt werden, die geschachtelte Virtualisierung unterstützen , werden mithilfe der Hyper-V-Technologie implementiert und weisen keine Einschränkungen auf.
- Sandboxes, die auf VM-Größen ausgeführt werden, die nicht die geschachtelte Virtualisierung unterstützen , werden mit einer proprietären Legacytechnologie implementiert und unterliegen einigen Einschränkungen.
- Das Image zum Ausführen der Sandboxes wird auf jedem Clusterknoten bereitgestellt und erfordert dedizierten SSD-Speicherplatz für die Ausführung.
- Die geschätzte Größe liegt zwischen 10 und 20 GB.
- Dies wirkt sich auf die Datenkapazität des Clusters aus und kann sich auf die Kosten des Clusters auswirken.
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 auftrue
als 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 |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für