Testy porównawcze przepływności akcji trwałego harmonogramu zadań

W wewnętrznych testach porównawczych harmonogram zadań Durable Task Scheduler przetwarzał elementy robocze w przybliżeniu pięć razy szybciej niż dostawca Azure Storage — najczęściej używany backend dla aplikacji Durable Functions.

Akcja jest dowolną dyskretną operacją przetworzoną przez harmonogram, taką jak uruchamianie orkiestracji, planowanie działania lub obsługa czasomierza. Aby uzyskać pełną definicję i szczegóły rozliczeń, zobacz Co to jest akcja?

Wyniki testu porównawczego

Harmonogram zadań Durable Task Scheduler został porównany z innymi dostawcami usług magazynowania, w tym z dostawcami Azure Storage, MSSQL i Netherite. Wyniki pokazują, że harmonogram zadań Durable Task Scheduler zapewnia lepszą przepływność akcji niż inne opcje, co przekłada się na większą liczbę zadań orkiestratora, jednostek i działań przetwarzanych w danym okresie.

Na poniższym wykresie przedstawiono elementy robocze przetwarzane na sekundę dla Harmonogramu Zadań Trwałych i dostawcy Azure Storage przy różnych liczbach pracowników. Dostawca Azure Storage został wybrany jako punkt odniesienia, ponieważ jest to domyślny i najczęściej używany system zaplecza dla aplikacji w Durable Functions.

Wykres słupkowy porównujący elementy robocze na sekundę między harmonogramem zadań Durable Task Scheduler a dostawcą Azure Storage dla 1, 2 oraz 4 pracowników EP2. Harmonogram zadań Durable Task Scheduler osiąga około 1400, 2750 i 3750 elementów roboczych na sekundę odpowiednio.

W poniższej tabeli podsumowano wartości przepływności liczbowej z testu porównawczego:

Konfiguracja Azure Storage (elementy robocze/s) Trwały harmonogram zadań (elementy robocze/s) Przyspieszenie
EP2, 1 pracownik ~250 ~1400 ~5,6x
EP2, 2 pracowników ~430 ~2,750 ~6,4x
EP2, 4 pracowników około 830 ~3,750 ~4,5x

Uwaga / Notatka

Wyniki te pochodzą z wewnętrznego testu porównawczego i mają na celu zapewnienie przybliżonego porównania względnej wydajności. Wyniki będą się różnić w zależności od cech obciążenia.

Metodologia testów porównawczych

Aby przetestować względną przepustowość dostawców zaplecza technologicznego, te testy porównawcze zostały uruchomione przy użyciu standardowej funkcji orkiestratora, która wywołuje pięć funkcji aktywności, osobno dla każdego miasta w sekwencji. Każde działanie po prostu zwraca wartość ciągu "Hello, {cityName}!" i nie wykonuje żadnej innej pracy.

Celem testu porównawczego jest mierzenie nakładu pracy nad każdym zapleczem bez wykonywania żadnych zbyt skomplikowanych czynności. Ten typ aranżacji sekwencyjnej został wybrany ze względu na jego powszechność w aplikacjach funkcjonalnych, które wykorzystują Durable Functions.

Szczegóły testu

Test składa się z następujących kryteriów:

  • Aplikacja używana do tego testu jest uruchamiana na od jednego do czterech wystąpień Elastic Premium EP2.
  • Kod orkiestracji został napisany w języku C# przy użyciu izolowanego modelu pracy .NET na .NET 8.
  • Ta sama aplikacja była używana dla wszystkich dostawców przechowywania, a jedyną zmianą była konfiguracja dostawcy przechowywania w backendzie.
  • Test jest wyzwalany przy użyciu wyzwalacza HTTP, który uruchamia jednocześnie 5000 aranżacji.

Po zakończeniu testu przepływność jest obliczana przez podzielenie całkowitej liczby ukończonych aranżacji przez całkowity czas wykonywania. Test został uruchomiony wiele razy dla każdej konfiguracji dostawcy magazynu, aby upewnić się, że wyniki były spójne.

Czynniki wpływające na wyniki

Wyniki mogą się różnić w zależności od:

  • Złożoność orkiestracji i działań
  • Liczba orkiestracji uruchomionych jednocześnie
  • Rozmiar ładunków danych przekazywanych między orkiestracjami i działaniami
  • Rozmiar maszyny wirtualnej i jednostka SKU
  • Opóźnienie sieci między obliczeniami a harmonogramem

Uwaga / Notatka

Te testy porównawcze były uruchamiane wewnętrznie przez Microsoft i nie są dostępne jako autonomiczna uprzęża testowa. Mają one na celu zapewnienie ogólnego poczucia względnej wydajności przy wyborze rozwiązania magazynowania.

Następne kroki