Extensibilité et performanceScalability and Performance

Les sites web et applications à trafic élevé et hautes performances ont deux principaux facteurs à prendre en considération avec Personalizer pour l’évolutivité et les performances :High-performance and high-traffic websites and applications have two main factors to consider with Personalizer for scalability and performance:

  • Maintenir une faible latence lors des appels à l’API de classementKeeping low latency when making Rank API calls
  • S’assurer que le rythme d’apprentissage s’adapte à l’entrée des événementsMaking sure training throughput keeps up with event input

La personnalisation peut retourner un classement rapidement, la plus grande partie de la durée de l’appel étant dédiée à la communication via l’API REST.Personalization can return a rank rapidly, with most of the call duration dedicated to communication through the REST API. Azure mettra à l’échelle la capacité à répondre rapidement aux demandes.Azure will autoscale the ability to respond to requests rapidly.

Scénarios de faible latenceLow-latency scenarios

Certaines applications nécessitent des latences faibles lors du retour d’un classement.Some applications require low latencies when returning a rank. Des latences faibles sont nécessaires :Low latencies are necessary:

  • Pour empêcher l’utilisateur d’avoir à attendre avant d’afficher un contenu classé.To keep the user from waiting a noticeable amount of time before displaying ranked content.
  • Pour aider un serveur qui subit un trafic extrême à éviter de mobiliser le temps de calcul et les connexions réseau.To help a server that is experiencing extreme traffic avoid tying up scarce compute time and network connections.

Extensibilité et rythme d’apprentissageScalability and training throughput

Personalizer fonctionne en mettant à jour un modèle qui est reformé en fonction des messages envoyés de façon asynchrone par Personalizer après les API de classement et de récompense.Personalizer works by updating a model that is retrained based on messages sent asynchronously by Personalizer after Rank and Reward APIs. Ces messages sont envoyés à l’aide d’un EventHub Azure pour l’application.These messages are sent using an Azure EventHub for the application.

La plupart des applications n’atteindront probablement pas les niveaux de jointure et de rythme d’apprentissage maximaux de Personalizer.It is unlikely most applications will reach the maximum joining and training throughput of Personalizer. Bien qu’atteindre ce maximum ne ralentirait pas l’application, cela signifierait que les files d’attente d’Event Hub se rempliraient en interne plus rapidement qu’elles peuvent être nettoyées.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.

Comment estimer vos besoins en débitHow to estimate your throughput requirements

  • Estimez le nombre moyen d’octets par événement de classement en ajoutant les longueurs des documents JSON de contexte et d’action.Estimate the average number of bytes per ranking event adding the lengths of the context and action JSON documents.
  • Divisez 20 Mo par seconde par ce nombre moyen d’octets estimé.Divide 20MB/sec by this estimated average bytes.

Par exemple, si votre charge utile moyenne comprend 500 fonctionnalités et que chacune est estimée à 20 caractères, chaque événement est d’environ 10 ko.For example, if your average payload has 500 features and each is an estimated 20 characters, then each event is approximately 10kb. Avec ces estimations, 20 000 000/10 000 = 2 000 événements par seconde, ce qui équivaut à environ 173 millions d’événements par jour.With these estimates, 20,000,000 / 10,000 = 2,000 events/sec, which is about 173 million events/day.

Si vous atteignez ces limites, contactez notre équipe de support pour des conseils d’architecture.If you are reaching these limits, please contact our support team for architecture advice.

Étapes suivantesNext steps

Créer et configurer Personalizer.Create and configure Personalizer.