Desempenho e escalabilidadeScalability and Performance

Os aplicativos e os sites de alto desempenho e de alto tráfego têm dois fatores principais a considerar com o Personalizador para desempenho e escalabilidade:High-performance and high-traffic websites and applications have two main factors to consider with Personalizer for scalability and performance:

  • Como manter a baixa latência ao fazer chamadas à API de ClassificaçãoKeeping low latency when making Rank API calls
  • Como garantir que a taxa de transferência de treinamento acompanhe eventos de entradaMaking sure training throughput keeps up with event input

A personalização pode retornar uma classificação rapidamente, com a maior parte da duração da chamada dedicada à comunicação através da API REST.Personalization can return a rank rapidly, with most of the call duration dedicated to communication through the REST API. O Azure fará o dimensionamento automático da capacidade de responder rapidamente às solicitações.Azure will autoscale the ability to respond to requests rapidly.

Cenários de baixa latênciaLow-latency scenarios

Alguns aplicativos exigem latências baixas ao retornar uma classificação.Some applications require low latencies when returning a rank. Baixa latência é necessária:Low latencies are necessary:

  • Para evitar que usuário tenha que esperar um tempo considerável para exibir o conteúdo classificado.To keep the user from waiting a noticeable amount of time before displaying ranked content.
  • Para ajudar um servidor que esteja enfrentando tráfego extremo a evitar associar conexões de rede e tempo de computação escassos.To help a server that is experiencing extreme traffic avoid tying up scarce compute time and network connections.

Taxa de transferência de treinamento e escalabilidadeScalability and training throughput

O Personalizador funciona atualizando um modelo que é retreinado com base em mensagens enviados de forma assíncrona pelo Personalizador após as APIs de Classificação e Recompensa.Personalizer works by updating a model that is retrained based on messages sent asynchronously by Personalizer after Rank and Reward APIs. Essas mensagens são enviadas usando um Hub de Eventos do Azure para o aplicativo.These messages are sent using an Azure EventHub for the application.

É improvável que a maioria dos aplicativos atinjam a taxa de transferência máxima de treinamento e de associação do Personalizador.It is unlikely most applications will reach the maximum joining and training throughput of Personalizer. Embora atingir este máximo não torne o aplicativo mais lento, isso significa que as filas no Hub de Eventos serão preenchidas com mais rapidez do que elas podem ser limpas.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.

Como estimar seus requisitos de taxa de transferênciaHow to estimate your throughput requirements

  • Estime o número médio de bytes por evento de classificação adicionando os comprimentos dos documentos JSON de contexto e de ação.Estimate the average number of bytes per ranking event adding the lengths of the context and action JSON documents.
  • Divida 20 MB/seg pela média estimada de bytes.Divide 20MB/sec by this estimated average bytes.

Por exemplo, se sua carga média tem 500 recursos e cada um tem em média 20 caracteres, então cada evento tem 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. Com essas estimativas, 20.000.000/10.000 = 2.000 eventos/s, o que representa cerca de 173 milhões de eventos/dia.With these estimates, 20,000,000 / 10,000 = 2,000 events/sec, which is about 173 million events/day.

Se você está atingindo esses limites, entre em contato com nossa equipe de suporte para obter orientações sobre arquitetura.If you are reaching these limits, please contact our support team for architecture advice.

Próximas etapasNext steps

Crie e configure o Personalizador.Create and configure Personalizer.