Autoskalierung für Azure API for FHIR

Azure API for FHIR ist ein verwalteter Dienst und ermöglicht es Kunden, mit Fast Healthcare Interoperability Resources (FHIR®) kompatible Gesundheitsdaten zu speichern und sie sicher über die Dienst-API zu austauschen. Um verschiedene Transaktions-Workloads zu berücksichtigen, können Kunden die manuelle Skalierung oder die Autoskalierung verwenden.

Azure API for FHIR bietet Skalierungsfunktionen auf Datenbank- und Computeebene.

Automatische Skalierung auf Datenbankebene

Standardmäßig ist die Azure-API für FHIR für die Datenbankskalierung auf manuell festgelegt. Diese Option funktioniert gut, wenn die Transaktions-Workloads bekannt und konsistent sind. Kunden können den Durchsatz RU/s über das Portal auf bis zu 100.000 anpassen und eine Anforderung zur Erhöhung des Grenzwerts übermitteln.

Das Feature für die automatische Skalierung wurde entwickelt, um Azure-Ressourcen einschließlich des Datenbankdurchsatzes automatisch entsprechend den Workloads zu skalieren und mögliche Engpässe auf der Datenebene zu beseitigen.

Hier erfahren Sie, wie Sie die automatische Skalierung auf Datenbankebene mit den nächsten Abschnitten aktivieren.

Leitfaden zum Aktivieren der automatischen Skalierung

Im Allgemeinen sollten Kunden die Autoskalierung in Betracht ziehen, wenn ihre Workloads erheblich variieren und unvorhersehbar sind.

Um das Feature für die automatische Skalierung zu aktivieren, muss der Kunde ein einmaliges Supportticket erstellen, um es über Azure-Portal anzufordern. Das Microsoft-Supportteam aktiviert das Feature für die automatische Skalierung basierend auf der Supportpriorität.

Hinweis

Das Feature „Autoskalierung“ ist über das Azure-Portal nicht verfügbar.

Automatische Skalierung für RU/s

Wenn die automatische Skalierung aktiviert ist, berechnet das System den Anfangswert für Tmax und legt diesen fest. Die Skalierbarkeit wird durch den maximalen Durchsatzwert für RU/s oder Tmax gesteuert. Die Skalierung ist zwischen 0.1 *Tmax (oder 10 % Tmax) und Tmax RU/s möglich. Tmax wird automatisch erhöht, wenn die Gesamtdatengröße wächst. Um die maximale Skalierbarkeit zu gewährleisten, sollte der Wert Tmax unverändert bleiben. Kunden können jedoch anfordern, dass er in einen Wert zwischen 10 % und 100 % des Tmax-Werts geändert wird.

Sie können den maximalen RU/s- oder Tmax-Wert erhöhen, und zwar so weit, wie der Dienst dies unterstützt. Wenn der Dienst ausgelastet ist, wird der Durchsatz für RU/s auf den Tmax-Wert skaliert. Wenn der Dienst im Leerlauf ist, wird der Durchsatz für RU/s auf 10 % des Tmax-Werts skaliert.

Sie können den maximalen RU/s- oder Tmax-Wert auch verringern. Wenn Sie die maximale Anzahl von RU/s senken, ist der mögliche Mindestwert MAX (4000, highest max RU/s ever provisioned / 10, current storage in GB * 400), gerundet auf die nächsten 1.000 RU/s.

  • Beispiel 1: Sie verfügen über 1 GB an Daten und der höchste bereitgestellte Wert für RU/s beträgt 10.000. Der Mindestwert ist Max (4.000, 10.000/10, 1x400) = 4.000. Die erste Zahl, 4.000, wird verwendet.
  • Beispiel 2: Sie verfügen über 20 GB an Daten und der höchste bereitgestellte Wert für RU/s beträgt 100.000. Der Mindestwert lautet Max (4.000, 100.000/10, 20x400) = 10.000. Die zweite Zahl, 100.000/10 =10.000, wird verwendet.
  • Beispiel 3: Sie verfügen über 80 GB an Daten und der höchste bereitgestellte Wert für RU/s beträgt 300.000. Der Mindestwert lautet Max (4.000, 300.000/10, 80x400) = 32.000. Die dritte Zahl, 80x400=32.000, wird verwendet.

Sie können die maximale RU/s Zahl oder Tmax den Wert über das Portal anpassen, wenn es sich um eine gültige Zahl handelt, die nicht größer als 100.000 RU/sist. Sie können ein Supportticket erstellen, um einen Wert größer als 100.000 anzufordern Tmax .

Hinweis

Während der Datenspeicher wächst, erhöht das System automatisch den maximalen Durchsatz auf den nächsthöchsten Wert für RU/s, der diese Speicherebene unterstützen kann.

Automatische Skalierung auf Computeebene

Richtlinien zur automatischen Skalierung, die für die Computeebene des FHIR-Diensts definiert sind, bestehen aus:

  • Skalierungstrigger

Skalierungstrigger beschreibt, wann die Skalierung des Diensts ausgeführt wird. Bedingungen, die im Trigger definiert sind, werden regelmäßig überprüft, um festzustellen, ob ein Dienst skaliert werden muss. Alle Trigger, die derzeit unterstützt werden, sind Average CPU, Max Worker Thread, Average LogWrite, Average data E/A.

  • Skalierungsmechanismus

Der Skalierungsmechanismus wird angewendet, wenn die Triggerprüfung feststellt, dass eine Skalierung erforderlich ist. Darüber hinaus wird der Skalierungstrigger erst dann erneut ausgewertet, wenn das Skalierungsintervall abgelaufen ist, das für die Azure-API für FHIR auf eine Minute festgelegt ist.

Um das bestmögliche Ergebnis zu gewährleisten, empfehlen wir Kunden, ihre Anforderungsrate schrittweise zu erhöhen, um der erwarteten Pushrate zu entsprechen, anstatt alle Anforderungen gleichzeitig zu pushen.

Häufig gestellte Fragen

Wie wird der erforderliche Durchsatz für RU/s geschätzt?

Die Datengröße ist einer von mehreren Faktoren, die bei der Berechnung des Gesamtdurchsatzes für RU/s verwendet werden, der für die manuelle Skalierung und die Autoskalierung erforderlich ist. Sie können die Datengröße mithilfe der Option „Metrikmenü“ unter Überwachung ermitteln. Starten Sie ein neues Diagramm, und wählen Sie Größe von Cosmos DB-Sammlung im Dropdownfeld „Metrik“ und Max im Feld „Aggregation“ aus.

Screenshot: metrics_new_chart

Sie sollten die Größe der Max-Datensammlung im ausgewählten Zeitraum sehen können. Ändern Sie den „Zeitbereich“ bei Bedarf, z. B. von „Letzte 30 Minuten“ in „Letzte 48 Stunden“.

Screenshot: cosmosdb_collection_size

Berechnen Sie den erforderlichen Wert für RU/s mithilfe der Formel.

  • Manuelle Skalierung: Speicher in GB * 40
  • Autoskalierung: Speicher in GB * 400

Beachten Sie, dass dies nur eine Schätzung basierend auf der Datengröße ist und andere Faktoren vorhanden sind, die sich auf den erforderlichen Wert für RU/s auswirken.

Ich habe die automatische Skalierung aktiviert. Wie kann ich manuell zur Skalierung migrieren?

Ein Supportticket ist erforderlich, um die Autoskalierung in die manuelle Skalierung zu ändern und den Durchsatz für RU/s anzugeben. Der Mindestwert für die manuelle Skalierung, auf den Sie diesen Durchsatz festlegen können, lautet: MAX (400, highest max RU/s ever provisioned / 100, current storage in GB * 40), gerundet auf den Wert für die nächsten 1.000 RU/s. Die hier verwendeten Zahlen unterscheiden sich von denen, die für die Autoskalierung verwendet werden.

Sobald die Änderung abgeschlossen ist, basieren die neuen Abrechnungssätze auf der manuellen Skalierung.

Welche Kosten sind mit der Autoskalierung verbunden?

Das Feature „Autoskalierung“ verursacht Kosten aufgrund der automatischen Verwaltung bereitgestellter Durchsatzeinheiten. Die tatsächlichen Kosten hängen von der stundenbasierten Nutzung ab. Beachten Sie jedoch, dass der minimale Kostenaufwand 10 % des Tmax-Werts für den reservierten Durchsatz für RU/s beträgt. Diese Kostensteigerung gilt jedoch nicht für Speicher- und Laufzeitkosten. Informationen zu den Preisen finden Sie unter Preise für Azure API for FHIR.

Nächste Schritte

In diesem Dokument haben Sie mehr über das Feature „Autoskalierung“ für Azure API for FHIR erfahren. Eine Übersicht über Azure API for FHIR finden Sie unter

FHIR® ist eine eingetragene Marke von HL7 und wird mit Genehmigung von HL7 verwendet.