Escalabilidad y rendimientoScalability and Performance

Las aplicaciones y los sitios web de alto rendimiento y alto tráfico tienen dos factores principales que se deben considerar con Personalizer para mejorar la escalabilidad y el rendimiento:High-performance and high-traffic websites and applications have two main factors to consider with Personalizer for scalability and performance:

  • Mantener una baja latencia al realizar llamadas a Rank API.Keeping low latency when making Rank API calls
  • Garantizar que el rendimiento del entrenamiento esté al día con la entrada de eventos.Making sure training throughput keeps up with event input

La personalización puede devolver una clasificación rápidamente, con la mayor parte de la duración de las llamadas dedicada a la comunicación a través de API REST.Personalization can return a rank rapidly, with most of the call duration dedicated to communication through the REST API. Azure realizará la escalabilidad automática de la capacidad para responder rápidamente a las solicitudes.Azure will autoscale the ability to respond to requests rapidly.

Escenarios de baja latenciaLow-latency scenarios

Algunas aplicaciones requieren latencias bajas al devolver una clasificación.Some applications require low latencies when returning a rank. Se necesitan latencias bajas:Low latencies are necessary:

  • Evitar que el usuario espere mucho tiempo antes de mostrar el contenido clasificado.To keep the user from waiting a noticeable amount of time before displaying ranked content.
  • Ayudar a que un servidor con tráfico extremo no tenga que limitar el escaso tiempo de proceso ni las conexiones de red.To help a server that is experiencing extreme traffic avoid tying up scarce compute time and network connections.

Escalabilidad y rendimiento del entrenamientoScalability and training throughput

Personalizer funciona al actualizar un modelo que se vuelve a entrenar según los mensajes que Personalizer envía de manera asincrónica después de Rank API y Reward API.Personalizer works by updating a model that is retrained based on messages sent asynchronously by Personalizer after Rank and Reward APIs. Estos mensajes se envían con una instancia de Azure Event Hub para la aplicación.These messages are sent using an Azure EventHub for the application.

Es poco probable que la mayoría de las aplicaciones alcance el máximo rendimiento de combinación y entrenamiento de Personalizer.It is unlikely most applications will reach the maximum joining and training throughput of Personalizer. Si bien alcanzar este valor máximo no ralentizará la aplicación, implicaría que las colas de Event Hub se rellenan más rápido que si se hubieran limpiado.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.

Cálculo de los requisitos de rendimientoHow to estimate your throughput requirements

  • Para calcular el número promedio de bytes por evento de clasificación, sume las longitudes de los documentos JSON de contexto y acción.Estimate the average number of bytes per ranking event adding the lengths of the context and action JSON documents.
  • Divida 20 MB/s por estos bytes promedio estimados.Divide 20MB/sec by this estimated average bytes.

Por ejemplo, si la carga promedio tiene 500 características y cada una de ellas tiene 20 caracteres estimados, cada evento tiene aproximadamente 10 KB.For example, if your average payload has 500 features and each is an estimated 20 characters, then each event is approximately 10kb. Con estos cálculos, 20 000 000 / 10 000 = 2000 eventos/s, que es alrededor de 173 millones de eventos por día.With these estimates, 20,000,000 / 10,000 = 2,000 events/sec, which is about 173 million events/day.

Si está por alcanzar estos límites, póngase en contacto con el equipo de soporte técnico para recibir consejos sobre la arquitectura.If you are reaching these limits, please contact our support team for architecture advice.

Pasos siguientesNext steps

Creación y configuración de Personalizer.Create and configure Personalizer.