Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Em parâmetros de comparação internos, o Agendador de Tarefas Duráveis processou itens de trabalho cerca de cinco vezes mais rápido do que o provedor de Armazenamento do Azure – o back-end mais usado para aplicativos do Durable Functions.
Uma ação é qualquer operação discreta processada pelo agendador, como iniciar uma orquestração, agendar uma atividade ou manipular um temporizador. Para obter a definição completa e os detalhes de cobrança, consulte O que é uma ação?
Resultados do parâmetro de comparação
O Agendador de Tarefas Duráveis foi comparado a outros provedores de armazenamento, incluindo os provedores Armazenamento do Azure, MSSQL e Netherite. Os resultados mostram que o Agendador de Tarefas Duráveis fornece uma taxa de transferência de ação melhor do que as outras opções, o que se traduz em tarefas mais orquestradoras, de entidade e de atividades sendo processadas em um determinado período de tempo.
O gráfico a seguir mostra os itens de trabalho processados por segundo pelo Agendador de Tarefas Duráveis em relação ao provedor do Armazenamento do Azure em diferentes contagens de trabalho. O provedor de Armazenamento do Azure foi escolhido como a comparação porque ele é o back-end padrão e mais comumente usado para aplicativos Durable Functions.
gráfico de barras comparando itens de trabalho por segundo entre o Agendador de Tarefas Duráveis e o provedor Armazenamento do Azure em 1, 2 e 4 trabalhadores EP2. O Agendador de Tarefas Duráveis atinge aproximadamente 1.400, 2.750 e 3.750 itens de trabalho por segundo, respectivamente.
A tabela a seguir resume os valores de taxa de transferência numérica do parâmetro de comparação:
| Configuração | Armazenamento do Azure (itens de trabalho por segundo) | Agendador de Tarefas Duráveis (itens de trabalho/seg) | Speedup |
|---|---|---|---|
| EP2, 1 trabalhador | ~250 | ~1.400 | ~5,6x |
| EP2, 2 trabalhadores | ~430 | ~2.750 | ~6,4x |
| EP2, 4 trabalhadores | ~830 | ~3.750 | ~4,5x |
Observação
Esses resultados são de um parâmetro de comparação interno e devem fornecer uma comparação aproximada do desempenho relativo. Seus resultados variarão dependendo das características da carga de trabalho.
Metodologia de parâmetro de comparação
Para testar o desempenho relativo dos provedores de back-end, esses benchmarks foram executados usando uma função padrão de orquestrador que chama cinco funções de atividade, uma para cada cidade, seguindo uma sequência. Cada atividade simplesmente retorna um valor de cadeia de caracteres "Hello, {cityName}!" e não faz nenhum outro trabalho.
A intenção do parâmetro de comparação é medir a sobrecarga de cada back-end sem fazer nada muito complicado. Esse tipo de orquestração sequencial foi escolhido devido à sua commonalidade em aplicativos de funções que incluem Durable Functions.
Detalhes do teste
O teste consiste nos seguintes critérios:
- O aplicativo de função usado para esse teste é executado em uma a quatro instâncias EP2 do Elastic Premium.
- O código de orquestração foi escrito em C# usando o Modelo de Trabalhador Isolado do .NET 8.
- O mesmo aplicativo foi usado para todos os provedores de armazenamento e a única alteração foi a configuração do provedor de armazenamento de back-end.
- O teste é disparado usando um gatilho HTTP que inicia 5.000 orquestrações simultaneamente.
Após a conclusão do teste, a taxa de transferência é calculada dividindo o número total de orquestrações concluídas pelo tempo total de execução. O teste foi executado várias vezes para cada configuração do provedor de armazenamento para garantir que os resultados fossem consistentes.
Fatores que afetam seus resultados
Seus resultados podem variar dependendo de:
- A complexidade de suas orquestrações e atividades
- O número de orquestrações em execução simultaneamente
- O tamanho das cargas de dados que estão sendo transmitidas entre orquestrações e atividades
- O tamanho da máquina virtual e o SKU
- Latência de rede entre sua computação e o agendador
Observação
Esses parâmetros de comparação foram executados internamente por Microsoft e não estão disponíveis como um cinto de teste autônomo. Elas destinam-se a fornecer uma sensação geral de desempenho relativo ao escolher um back-end de armazenamento.