Skalierbarkeit und LeistungScalability and Performance

Bei hochleistungsfähigen und stark frequentierten Websites und Anwendungen müssen beim Dienst „Personalisierung“ hinsichtlich Skalierbarkeit und Leistung zwei Hauptfaktoren berücksichtigt werden:High-performance and high-traffic websites and applications have two main factors to consider with Personalizer for scalability and performance:

  • Bei Aufrufen der Rangfolge-API die Wartezeit kurz haltenKeeping low latency when making Rank API calls
  • Sicherstellen, dass der Trainingsdurchsatz mit der Ereigniseingabe Schritt hältMaking sure training throughput keeps up with event input

Die Personalisierung kann schnell einen Rang zurückgeben, wobei der größte Teil der Aufrufdauer der Kommunikation über die REST-API vorbehalten ist.Personalization can return a rank rapidly, with most of the call duration dedicated to communication through the REST API. Azure skaliert automatisch die Fähigkeit zur schnellen Reaktion auf Anforderungen.Azure will autoscale the ability to respond to requests rapidly.

Szenarien mit kurzer WartezeitLow-latency scenarios

Einige Anwendungen erfordern bei der Rückgabe eines Rangs kurze Wartezeiten.Some applications require low latencies when returning a rank. Geringe Latenzzeiten sind erforderlich:Low latencies are necessary:

  • Um zu verhindern, dass der Benutzer eine spürbare Zeitspanne auf die Anzeige von bewerteten Inhalten wartet.To keep the user from waiting a noticeable amount of time before displaying ranked content.
  • Um einem Server mit extrem hohen Datenverkehr beim Vermeiden zu helfen, knappe Computezeit und Netzwerkverbindungen zu binden.To help a server that is experiencing extreme traffic avoid tying up scarce compute time and network connections.

Skalierbarkeit und TrainingsdurchsatzScalability and training throughput

Die Personalisierung funktioniert, indem ein Modell aktualisiert wird, das basierend auf von der Personalisierung asynchron gesendeten Nachrichten gemäß Rangfolgen- und Relevanz-API neu trainiert wird.Personalizer works by updating a model that is retrained based on messages sent asynchronously by Personalizer after Rank and Reward APIs. Diese Nachrichten werden über eine Azure Event Hub-Instanz für die Anwendung gesendet.These messages are sent using an Azure EventHub for the application.

Es ist unwahrscheinlich, dass die meisten Anwendungen den maximalen Teilnehmer- und Trainingsdurchsatz des Diensts „Personalisierung“ erreichen.It is unlikely most applications will reach the maximum joining and training throughput of Personalizer. Wenngleich das Erreichen dieses Maximums die Anwendung nicht bremst, würde es bedeuten, dass Event Hub-Warteschlangen intern schneller gefüllt werden, als sie bereinigt werden können.While reaching this maximum will not slow down the application, it would imply Event Hub queues are getting filled internally faster than they can be cleaned up.

Schätzen Ihrer DurchsatzanforderungenHow to estimate your throughput requirements

  • Schätzen Sie die durchschnittliche Anzahl von Bytes pro bewertetem Ereignis, indem Sie die Länge der JSON-Dokumente für Kontext und Aktion addieren.Estimate the average number of bytes per ranking event adding the lengths of the context and action JSON documents.
  • Dividieren Sie 20 MB/s durch diese geschätzte durchschnittliche Anzahl von Bytes.Divide 20MB/sec by this estimated average bytes.

Wenn Ihre durchschnittliche Nutzlast beispielsweise 500 Merkmale aufweist und jedes davon geschätzte 20 Zeichen lang ist, dann hat jedes Ereignis eine Größe von etwa 10 KB.For example, if your average payload has 500 features and each is an estimated 20 characters, then each event is approximately 10kb. Bei dieser Schätzungen gilt: 20.000.000 : 10.000 = 2.000 Ereignisse/s, also ca. 173 Mio. Ereignisse pro Tag.With these estimates, 20,000,000 / 10,000 = 2,000 events/sec, which is about 173 million events/day.

Wenn Sie diese Grenzwerte erreichen, wenden Sie sich zwecks Architekturberatung an unser Supportteam.If you are reaching these limits, please contact our support team for architecture advice.

Nächste SchritteNext steps

Erstellen und Konfigurieren des Diensts „Personalisierung“Create and configure Personalizer.