Udostępnij za pomocą


Skalowanie wystąpienia usługi Azure Cache for Redis

Ważne

Usługa Azure Cache for Redis ogłosiła harmonogram wycofania wszystkich SKU. Zalecamy przeniesienie istniejących wystąpień usługi Azure Cache for Redis do usługi Azure Managed Redis tak szybko, jak to możliwe.

Aby uzyskać więcej informacji na temat przejścia na emeryturę:

Usługa Azure Cache for Redis oferuje różne oferty warstw, które zapewniają elastyczność wyboru rozmiaru i funkcji pamięci podręcznej. Dzięki skalowaniu możesz zmienić rozmiar, poziom i liczbę węzłów po utworzeniu instancji pamięci podręcznej, aby dostosować je do potrzeb aplikacji. W tym artykule przedstawiono sposób skalowania pamięci podręcznej przy użyciu witryny Azure Portal oraz narzędzi, takich jak program Azure PowerShell i interfejs wiersza polecenia platformy Azure.

Typy skalowania

Istnieją zasadniczo dwa sposoby skalowania wystąpienia usługi Azure Cache for Redis:

  • Skalowanie w górę zwiększa rozmiar maszyny wirtualnej z uruchomionym serwerem Redis, dodając więcej pamięci, procesorów wirtualnych (vCPU) i przepustowości sieci. Skalowanie w górę jest również nazywane skalowaniem w pionie. Przeciwieństwem skalowania w górę jest skalowanie w dół.

  • Skalowanie poziome dzieli wystąpienie pamięci podręcznej na więcej węzłów o tym samym rozmiarze, zwiększając ilość pamięci, procesorów wirtualnych i przepustowość sieci poprzez równoległe przetwarzanie. Skalowanie w poziomie jest również określane jako skalowanie w poziomie lub fragmentowanie. Przeciwieństwem skalowania w górę jest skalowanie w. W społeczności usługi Redis skalowanie w górę jest często nazywane klastrowaniem.

Zakres dostępności

Warstwa Podstawowa i Standardowa Premium Przedsiębiorstwo i Enterprise Flash
Skalowanie w górę Tak Tak Tak
Zmniejsz Tak Tak Nie.
Skalowanie w poziomie Nie. Tak Tak
Redukcja zasobów Nie. Tak Nie.

Kiedy skalować

Funkcje monitorowania usługi Azure Cache for Redis umożliwiają monitorowanie kondycji i wydajności pamięci podręcznej. Użyj tych informacji, aby określić, kiedy skalować pamięć podręczną.

Możesz monitorować następujące metryki, aby określić, czy chcesz przeprowadzić skalowanie.

  • Ładowanie serwera Redis
    • Wysokie obciążenie serwera Redis oznacza, że serwer nie może nadążyć za żądaniami ze wszystkich klientów. Ponieważ serwer Redis jest pojedynczym procesem wątkowym, zwykle bardziej przydatne jest skalowanie w poziomie, a nie skalowanie w górę. Skalowanie w górę przez włączenie klastrowania pomaga dystrybuować funkcje narzutowe w wielu procesach usługi Redis. Skalowanie w górę pomaga również dystrybuować szyfrowanie/odszyfrowywanie protokołu TLS i połączenie/rozłączanie, przyspieszając wystąpienia pamięci podręcznej przy użyciu protokołu TLS.
    • Skalowanie w górę wciąż może być pomocne w zmniejszaniu obciążenia serwera, ponieważ zadania w tle mogą korzystać z większej liczby procesorów wirtualnych, dzięki czemu zwalniają zasoby dla głównego procesu serwera Redis.
    • Warstwy Enterprise i Enterprise Flash używają usługi Redis Enterprise, a nie usługi Redis typu open source. Jedną z zalet tych warstw jest proces serwera Redis, który może korzystać z wielu procesorów wirtualnych. W przypadku wielu procesorów wirtualnych skalowanie w górę i skalowanie w poziomie w tych warstwach może być pomocne w zmniejszeniu obciążenia serwera.
  • Użycie pamięci
    • Wysokie użycie pamięci wskazuje, że rozmiar danych jest zbyt duży dla bieżącego rozmiaru pamięci podręcznej. Rozważ skalowanie do rozmiaru pamięci podręcznej z większą ilością pamięci. Skalowanie w górę lub skalowanie w górę jest skuteczne w tym miejscu.
  • Połączenia klienta
    • Każdy rozmiar pamięci podręcznej ma limit liczby połączeń klienta, które może obsługiwać. Jeśli połączenia klienta są zbliżone do limitu rozmiaru pamięci podręcznej, rozważ skalowanie w górę do większej warstwy. Skalowanie w górę nie zwiększa liczby obsługiwanych połączeń klienckich.
    • Aby uzyskać więcej informacji na temat limitów połączeń według rozmiaru pamięci podręcznej, zobacz Cennik usługi Azure Cache for Redis.
  • Przepustowość sieci.
    • Jeśli serwer Redis przekracza dostępną przepustowość, żądania klientów mogą przekroczyć limit czasu, ponieważ serwer nie może wypychać danych do klienta wystarczająco szybko. Aby zweryfikować, ile przepustowości jest używanej po stronie serwera, sprawdź metryki „Odczyt z pamięci podręcznej” i „Zapis do pamięci podręcznej”. Jeśli serwer Redis przekracza dostępną przepustowość sieci, rozważ skalowanie w poziomie lub skalowanie w górę do większego rozmiaru pamięci podręcznej o większej przepustowości sieci.
    • W przypadku pamięci podręcznych poziomu Enterprise z wykorzystaniem zasady Enterprise cluster, skalowanie w poziomie nie zwiększa przepustowości sieci.
    • Aby uzyskać więcej informacji na temat dostępnej przepustowości sieci według rozmiaru pamięci podręcznej, zobacz Planowanie usługi Azure Cache for Redis — często zadawane pytania.
  • Wewnętrzne skanowania w usłudze Defender
    • W pamięciach podręcznych C0 i C1 Standard, podczas gdy wewnętrzne skanowanie usługi Defender jest uruchomione na maszynach wirtualnych, mogą wystąpić krótkie skoki obciążenia serwera nie spowodowane wzrostem liczby żądań pamięci podręcznej. Doświadczysz większego opóźnienia w realizacji żądań, gdy wewnętrzne skany Defender są uruchamiane na tych poziomach kilka razy dziennie. Pamięci podręczne w warstwach C0 i C1 mają tylko jeden rdzeń do wielozadaniowości, dzieląc pracę między realizację wewnętrznych żądań skanowania Defendera oraz obsługę żądań Redis. Efekt można zmniejszyć, przechodząc na wyższą warstwę z wieloma rdzeniami CPU, takimi jak C2.
    • Zwiększony rozmiar pamięci podręcznej w wyższych warstwach pomaga rozwiązać wszelkie problemy z opóźnieniami. Ponadto na poziomie C2 masz obsługę aż 2000 połączeń klienckich.

Aby uzyskać więcej informacji na temat określania warstwy cenowej pamięci podręcznej do użycia, zobacz Wybieranie odpowiedniej warstwy i Planowanie usługi Azure Cache for Redis — często zadawane pytania.

Uwaga

Aby uzyskać więcej informacji na temat optymalizowania procesu skalowania, zobacz najlepsze rozwiązania dotyczące skalowania— przewodnik

Wymagania wstępne/ograniczenia skalowania usługi Azure Cache for Redis

Możesz skalować w górę/w dół do innej warstwy cenowej z następującymi ograniczeniami:

  • Nie można skalować z wyższej warstwy cenowej do niższej warstwy cenowej.
    • Nie można zredukować pamięci podręcznej Enterprise lub Enterprise Flash do żadnej innej warstwy.
    • Nie można skalować w dół z pamięci podręcznej Premium do pamięci podręcznej Standardowa lub Podstawowa.
    • Nie można skalować pamięci podręcznej ze standardowej na podstawową.
  • Można skalować z pamięci podręcznej w warstwie Podstawowa do pamięci podręcznej w warstwie Standardowa, ale nie można jednocześnie zmieniać rozmiaru. Jeśli potrzebujesz innego rozmiaru, możesz później wykonać operację skalowania do żądanego rozmiaru.
  • Nie można skalować z pamięci podręcznej w warstwie Podstawowa bezpośrednio do pamięci podręcznej Premium. Najpierw przeprowadź skalowanie z warstwy Podstawowa do Standardowa w ramach jednej operacji skalowania, a następnie z warstwy Standardowa do Warstwy Premium w następnej operacji skalowania.
  • Nie można skalować z większego rozmiaru do rozmiaru C0 (250 MB). Można jednak skalować do dowolnego innego rozmiaru w tej samej kategorii cenowej. Na przykład można skalować od C5 Standard do C1 Standard.
  • Nie można skalować z pamięci podręcznej Premium, Standardowej ani Podstawowej do pamięci podręcznej Enterprise lub Enterprise Flash.
  • Nie można skalować między Enterprise a Enterprise Flash.

Możesz skalować w poziomie lub w pionie z następującymi ograniczeniami:

  • Skalowanie w poziomie jest obsługiwane tylko na poziomach Premium, Enterprise i Enterprise Flash.
  • Skalowanie w poziomie jest obsługiwane tylko w warstwie Premium .
  • Na poziomie Premium najpierw należy włączyć klastrowanie przed skalowaniem w górę lub w dół.
  • W warstwie Premium obsługa skalowania w poziomie do 10 fragmentów jest ogólnie dostępna. Obsługa maksymalnie 30 fragmentów jest dostępna w wersji testowej. (W przypadku pamięci podręcznych z dwiema replikami limit fragmentów wynosi 20. W przypadku trzech replik limit fragmentów wynosi 15).
  • Tylko warstwy Enterprise i Enterprise Flash mogą być jednocześnie skalowane w górę i na boki.

Jak skalować — warstwy Podstawowa, Standardowa i Premium

Skaluj w górę i w dół za pomocą portalu Azure

  1. Aby skalować pamięć podręczną, przejdź do pamięci podręcznej w witrynie Azure Portal i wybierz pozycję Skaluj z menu Zasób.

    Zrzut ekranu przedstawiający Skalowanie w menu zasobów.

  2. Wybierz warstwę cenową w okienku roboczym, a następnie wybierz pozycję Wybierz.

    Zrzut ekranu przedstawiający warstwy usługi Azure Cache for Redis.

  3. Gdy pamięć podręczna jest skalowana do nowej warstwy, zostanie wyświetlone powiadomienie skalowania pamięci podręcznej Redis Cache .

    Zrzut ekranu przedstawiający powiadomienie o skalowaniu.

  4. Po zakończeniu skalowania stan zmienia się z Skalowanie na Uruchomione.

Uwaga

W przypadku skalowania pamięci podręcznej w górę lub w dół przy użyciu portalu, ustawienia maxmemory-reserved i maxfragmentationmemory-reserved są automatycznie skalowane proporcjonalnie do rozmiaru pamięci podręcznej. Jeśli ustawiono maxmemory-reserved na 3 GB dla pamięci podręcznej o rozmiarze 6 GB i następuje skalowanie do pamięci podręcznej o rozmiarze 12 GB, ustawienia zostaną automatycznie zaktualizowane do 6 GB podczas skalowania. W przypadku skalowania w dół następuje odwrotnie.

Skalowanie w górę i w dół przy użyciu programu PowerShell

Wystąpienia usługi Azure Cache for Redis można skalować za pomocą programu PowerShell, używając polecenia cmdlet Set-AzRedisCache, gdy zmodyfikowane zostaną właściwości Size lub Sku. W poniższym przykładzie pokazano, jak skalować pamięć podręczną o nazwie myCache do pamięci podręcznej o rozmiarze 6 GB w tej samej warstwie.

   Set-AzRedisCache -ResourceGroupName myGroup -Name myCache -Size 6GB

Aby uzyskać więcej informacji na temat skalowania za pomocą programu PowerShell, zapoznaj się z Aby skalować usługę Azure Cache for Redis przy użyciu programu PowerShell.

Skalowanie w górę i w dół przy użyciu Azure CLI

Aby skalować wystąpienia Azure Cache for Redis przy użyciu Azure CLI, użyj polecenia az redis update. Użyj właściwości sku.capacity, aby skalować w ramach warstwy, na przykład z pamięci podręcznej Standardowa C0 do Standardowa C1.

az redis update --cluster-name myCache --resource-group myGroup --set "sku.capacity"="2"

Użyj właściwości "sku.name" i "sku.family", aby przejść na inny poziom, na przykład z pamięci podręcznej Standard C1 do pamięci podręcznej Premium P1.

az redis update --cluster-name myCache --resource-group myGroup --set "sku.name"="Premium" "sku.capacity"="1" "sku.family"="P"

Aby uzyskać więcej informacji na temat skalowania za pomocą Azure CLI, zobacz Zmienianie ustawień istniejącej pamięci podręcznej Azure Cache for Redis.

Uwaga

W przypadku programowego skalowania pamięci podręcznej w górę lub w dół (np. przy użyciu programu PowerShell lub interfejsu wiersza polecenia platformy Azure) dowolne maxmemory-reserved lub maxfragmentationmemory-reserved są ignorowane w ramach żądania aktualizacji. Uwzględniana jest tylko zmiana skalowania. Te ustawienia pamięci można zaktualizować po zakończeniu operacji skalowania.