In diesem Dokument wird die Verfügbarkeit von Ressourcen erläutert und es werden Empfehlungen gegeben, wie Sie die Verfügbarkeit verbessern können, wenn Sie Batchjobs erstellen und ausführen.
Was ist Verfügbarkeit?
Verfügbarkeit ist die Wahrscheinlichkeit, dass Ressourcen zum Ausführen Ihrer Arbeitslast verfügbar sind. Wenn Ressourcen nicht verfügbar sind, schlägt Ihre Arbeitslast aufgrund von Ressourcen verfügbarkeits fehlern fehl. Die Verfügbarkeit ist mit der Zuverlässigkeit verwandt, aber nicht identisch. Die Zuverlässigkeit ist die Wahrscheinlichkeit , dass Ihre Arbeitslast für ihre Nutzer verfügbar ist. (Verfügbarkeit kann eines oder beides bedeuten.)
Die Beziehung zwischen Verfügbarkeit und Zuverlässigkeit ist komplex. Ihre Arbeitslast muss Ressourcen abrufen, um zuverlässig zu sein. Jede Flexibilität in Bezug auf Standort, Zeit und Hardware erhöht die Verfügbarkeit. Die Zuverlässigkeit steigt jedoch nur mit der Flexibilität, die die Anforderungen Ihrer Arbeitslast erfüllt. Beachten Sie beispielsweise die folgenden Komplexitäten:
- Maschinentypen mit höherer Leistung sind aufgrund der höheren Nachfrage möglicherweise weniger verfügbar. Die Zuverlässigkeit sinkt jedoch, wenn Ihre Arbeitslast nicht genügend Leistung hat.
- Die Standortflexibilität erhöht die Verfügbarkeit, aber dicht zugewiesene Maschinen verbessern die Netzwerkleistung.
- Die Zeitflexibilität erhöht die Verfügbarkeit, aber übermäßige Wartezeiten können zu unnötigen Verzögerungen führen.
Daher ist eine höhere Verfügbarkeit nicht immer besser. Der optimale Grad der Verfügbarkeit variiert je nach Ihren Prioritäten und Anforderungen. Möglicherweise möchten Sie eine geringere Verfügbarkeit, um die Kosten zu senken. Auch wenn Sie Zuverlässigkeit priorisieren möchten, müssen Sie die Vorteile einer höheren Verfügbarkeit gegen die Risiken einer geringeren Leistung oder längerer Verzögerungen abwägen.
Empfehlungen zur Verbesserung der Verfügbarkeit für Jobs
In den folgenden Abschnitten finden Sie Empfehlungen zur Verbesserung der Verfügbarkeit für Batchjobs:
- Empfehlungen für alle Nutzungsoptionen: Sehen Sie sich diese Empfehlungen für jeden Job an.
- Empfehlungen basierend auf der Nutzungs option: Wählen Sie eine Empfehlung basierend auf der Nutzungsoption für Ihren Job aus.
Empfehlungen für alle Nutzungsoptionen
Minimieren Sie den Bedarf an großen und leistungsstarken Maschinentypen, indem Sie Ihre Arbeitslast aufteilen. Trennen Sie beispielsweise rechenintensive Vorgänge zuerst von Vorgängen mit geringer Nachfrage, indem Sie abhängige Jobs verwenden. Reduzieren Sie dann so weit wie möglich die minimalen Rechenressourcen, die für jeden Job erforderlich sind, indem Sie die parallele Verarbeitung maximieren und eng gekoppelte Aufgaben minimieren.
Weitere Informationen zu abhängigen Jobs und Rechenressourcen und Parallelität.
Maximieren Sie die Anzahl der Standorte, die für die Compute Engine-Ressourcen Ihres Jobs zulässig sind. Dies ist standardmäßig der Fall. Wenn Sie das Feld
allowedLocations[]für einen Job nicht angeben, können die Compute Engine-Ressourcen des Jobs in jeder Zone am Standort des Jobs ausgeführt werden.Weitere Informationen zu Standorten.
Erwägen Sie die Verwendung von Fail-Fast-Strategien, bevor Sie auf eine bessere Verfügbarkeit warten. Um Verzögerungen zu vermeiden, können Sie Fail-Fast-Strategien wie die folgenden verwenden:
- Sie können zwar Fehler bei der Ressourcenverfügbarkeit beheben, indem Sie Ihre Anfrage zu einem anderen Zeitpunkt senden, aber es ist oft schneller, zuerst verschiedene Standorte oder Hardware auszuprobieren.
- Wenn Sie mehrere Nutzungsoptionen verwenden möchten, ist es oft schneller, zuerst die Nutzungsoptionen ohne Verzögerungen auszuprobieren: On-Demand-Reservierungen, On-Demand-VMs und Spot-VMs.
- Für neue Arbeitslasten, die Sie wiederholen möchten, können Sie die ersten Tests und die Fehlerbehebung beschleunigen, indem Sie vorübergehend Optionen verwenden, die schneller verfügbar sind.
Empfehlungen basierend auf der Nutzungsoption
Die von Ihnen ausgewählte Nutzungsoption ist ein Hauptfaktor für die Verfügbarkeit eines Jobs. In diesem Abschnitt werden die einzelnen Nutzungsoptionen kurz zusammengefasst und Empfehlungen zur Optimierung der Verfügbarkeit für jede Nutzungsoption gegeben.
Die folgenden Nutzungsoptionen sind nach Verfügbarkeit sortiert (von der höchsten zur niedrigsten Verfügbarkeit):
Verwenden Sie für Arbeitslasten mit hohen Verfügbarkeitsanforderungen Reservierungen. Reservierungen bieten ein höheres Maß an Sicherheit beim Beschaffen von Kapazitäten als alle anderen Nutzungsoptionen. Wenn Sie reservierte Kapazitäten verwenden möchten, erstellen oder identifizieren Sie zuerst vorhandene Reservierungen, die Sie verwenden können. Konfigurieren Sie dann Instanzen so, dass sie diese reservierte Kapazität nutzen. Im Gegensatz zu anderen Nutzungsoptionen verursachen reservierte Instanzen aufgrund ihrer Kapazitätsgarantie auch dann Kosten, wenn sie nicht verwendet werden, bis Sie sie löschen. Bei der Berücksichtigung der Verfügbarkeit können Sie zwischen den folgenden Arten von Reservierungen wählen:
Wenn Sie reservierte Kapazitäten benötigen, nutzen Sie eine spezifisch ausgerichtete Reservierung. Mit diesen Reservierungen lässt sich am einfachsten prüfen, ob reservierte Kapazitäten verfügbar sind und von Ihrer Arbeitslast genutzt werden können. Wenn reservierte Kapazitäten nicht verfügbar und kompatibel sind, schlägt Ihre Arbeitslast fehl und gibt einen Fehler zurück. Eine spezifisch ausgerichtete Reservierung umfasst alle Reservierungen für das Bereitstellungsmodell
RESERVATION_BOUNDund einige Reservierungen für das BereitstellungsmodellSTANDARD.Informationen zum Erstellen eines Jobs, der Reservierungenverwendet.
Für optionale reservierte Kapazitäten nutzen Sie eine automatisch genutzte Reservierung und die Instanzflexibilität (Vorschau). Diese Reservierungsoptionen bieten ein hohes Maß an Sicherheit beim Beschaffen von Kapazitäten, aber nur, wenn reservierte Kapazitäten verfügbar sind, die von Ihrer Arbeitslast genutzt werden können. Für automatisch genutzte Reservierungen müssen Sie das Bereitstellungsmodell
STANDARDangeben und manuell prüfen, ob reservierte Kapazitäten verfügbar sind und mit der Instanzkonfiguration Ihrer Arbeitslast übereinstimmen. Wenn reservierte Kapazitäten nicht verfügbar sind oder nicht übereinstimmen, versucht Ihre Arbeitslast stattdessen, On-Demand-Kapazitäten zu nutzen. Im Gegensatz zu spezifisch ausgerichteten Reservierungen können Sie die Instanzflexibilität jedoch mit automatisch genutzten Reservierungen verwenden, damit Ihre Arbeitslast versucht, mehrere automatisch genutzte Reservierungen zu nutzen.Informationen zum Erstellen eines Jobs, der Reservierungen und Instanz flexibilität (Vorschau) verwendet.
Verwenden Sie für Arbeitslasten mit mittleren Verfügbarkeitsanforderungen entweder On-Demand- Kapazitäten mit Instanzflexibilität (Vorschau) oder Flex-Start-VMs. Wählen Sie zwischen diesen Optionen wie folgt aus:
Sofern Ihr Maschinentyp nicht zur A3-Maschinenserie gehört oder nicht unterstützt wird, sollten Sie On-Demand-Kapazitäten mit Instanzflexibilität (Vorschau) verwenden. Für die On-Demand-Nutzungsoption ist das Bereitstellungsmodell
STANDARD(Standard) erforderlich. Sofern Sie die Reservierungsnutzung nicht explizit blockieren, versucht Ihre Arbeitslast standardmäßig auch, automatisch genutzte Reservierungen zu nutzen. Wir empfehlen die On-Demand-Nutzungsoption nicht für die A3-Maschinenserie.Informationen zum Erstellen eines Jobs, der das Standardbereitstellungs modell und die Instanz flexibilität (Vorschau) verwendet.
Andernfalls oder wenn On-Demand-Kapazitäten wiederholt nicht verfügbar sind, sollten Sie Flex-Start-VMs verwenden. Wenn Sie die Nutzungsoption „Flex-Start-VMs“ verwenden möchten, geben Sie das Bereitstellungsmodell
FLEX_STARTan. Für Flex-Start-VMs muss Ihre Arbeitslast eine Wartezeit und eine begrenzte Laufzeit in Kauf nehmen, bietet aber auch Rabatte durch die Dynamic Workload Scheduler-Preise.Informationen zum Erstellen eines Jobs, der Flex-Start-VMs verwendet.
Verwenden Sie für Arbeitslasten mit geringen Verfügbarkeitsanforderungen Spot-VMs mit mehreren Verfügbarkeitsfunktionen. Wenn Sie die Nutzungsoption „Spot-VMs“ verwenden möchten, geben Sie das Bereitstellungsmodell
SPOTan. Spot-VMs sind möglicherweise nicht immer verfügbar und können jederzeit vorzeitig beendet werden. Daher werden sie nur für fehlertolerante Arbeitslasten empfohlen, bieten aber möglicherweise die größten Rabatte durch die Spot-VM-Preise.Wir empfehlen im Allgemeinen, die Verfügbarkeit von Spot-VMs vor der Erstellung zu prüfen und zu bestätigen, dass Ihre Arbeitslast mit dem vorzeitigen Beenden umgehen kann. Um die Verfügbarkeit von Spot-VMs in Batchjobs zu verbessern, empfehlen wir, die Instanzflexibilität mit mehreren Maschinentypen desselben Rangs (Vorschau) zu verwenden und automatische Wiederholungen zu nutzen, um Spot-VMs nach dem vorzeitigen Beenden automatisch neu zu erstellen.
Informationen zum Prüfen der Verfügbarkeit von Spot-VMs und zum Verwalten des vorzeitigen Beendens von Spot-VMs finden Sie in der Compute Engine-Dokumentation. Informationen zum Erstellen eines Jobs , der das Bereitstellungsmodell „Spot-VMs“, die Instanzflexibilität (Vorschau) und automatische Wiederholungen für das vorzeitige Beenden verwendet.
Nächste Schritte
- Weitere Informationen zu Optionen für die Joberstellung.