Skalowanie wystąpienia usługi Azure Managed Redis (wersja zapoznawcza)
Usługa Azure Managed Redis (wersja zapoznawcza) ma różne oferty jednostek SKU i warstw, które zapewniają elastyczność wyboru rozmiaru i wydajności pamięci podręcznej. Możesz skalować w górę do większego rozmiaru pamięci lub zmienić warstwę na większą wydajność obliczeniową. 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.
Uwaga
Ponieważ każda warstwa usługi Azure Managed Redis ma praktycznie te same funkcje, skalowanie jest zwykle używane tylko do zmiany charakterystyki pamięci i wydajności.
Ważne
Obecnie obsługiwane jest tylko skalowanie w górę do większych rozmiarów pamięci lub wyższej warstwy wydajności. Skalowanie w dół rozmiarów pamięci lub do mniej wydajnej warstwy nie jest jeszcze obsługiwane.
Typy skalowania
Usługa Azure Managed Redis obsługuje skalowanie w dwóch wymiarach:
Zwiększenie pamięci zwiększa rozmiar wystąpienia usługi Redis, co pozwala przechowywać więcej danych.
Procesory wirtualne Azure Managed Redis oferują trzy warstwy (zoptymalizowane pod kątem pamięci, zrównoważone i zoptymalizowane pod kątem obliczeń), które mają coraz większą liczbę procesorów wirtualnych dla każdego poziomu pamięci. Skalowanie do warstwy z większą liczbie procesorów wirtualnych zwiększa wydajność wystąpienia bez konieczności zwiększania pamięci. W przeciwieństwie do wersji community usługi Redis, która może korzystać tylko z jednego procesora wirtualnego, usługa Azure Managed Redis używa stosu Redis Enterprise, który może używać wielu procesorów wirtualnych. Oznacza to, że liczba procesorów wirtualnych używanych przez wystąpienie usługi Redis jest bezpośrednio skorelowana z wydajnością przepływności i opóźnień.
Warstwy wydajności
Dostępne są cztery warstwy usługi Azure Managed Redis, z których każda ma różne cechy wydajności i poziomy cen.
Trzy warstwy są przeznaczone dla danych w pamięci:
- Zoptymalizowane pod kątem pamięci. Idealne rozwiązanie w przypadku przypadków użycia intensywnie korzystających z pamięci, które wymagają dużego stosunku pamięci do procesorów wirtualnych (8:1), ale nie wymagają najwyższej wydajności przepływności. Zapewnia ona niższy punkt cenowy dla scenariuszy, w których wymagana jest mniejsza moc obliczeniowa lub przepływność, co czyni go doskonałym wyborem dla środowisk programistycznych i testowych.
- Zrównoważony (pamięć i obliczenia). Oferuje zrównoważony stosunek pamięci do procesorów wirtualnych (4:1), co czyni go idealnym rozwiązaniem dla obciążeń standardowych. Zapewnia ona zdrową równowagę pamięci i zasobów obliczeniowych.
- Zoptymalizowane pod kątem obliczeń. Zaprojektowana pod kątem obciążeń intensywnie korzystających z wydajności wymagających maksymalnej przepływności z niskim współczynnikiem pamięci do procesorów wirtualnych (2:1). Jest to idealne rozwiązanie dla aplikacji, które wymagają najwyższej wydajności.
Jedna warstwa przechowuje dane zarówno w pamięci, jak i na dysku:
- Zoptymalizowane pod kątem flash. Umożliwia klastrom Redis automatyczne przenoszenie rzadziej używanych danych z pamięci RAM do magazynu NVMe. Zmniejsza to wydajność, ale umożliwia ekonomiczne skalowanie pamięci podręcznych z dużymi zestawami danych.
Warstwy i jednostki SKU w skrócie
Wydajność (przepływność i opóźnienie)
Aby uzyskać testy porównawcze wydajności i więcej informacji na temat mierzenia wydajności każdej jednostki SKU i warstwy, zobacz Testowanie wydajności za pomocą usługi Azure Managed Redis
Kiedy skalować
Funkcje monitorowania usługi Azure Managed 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.
- CPU
- Wysokie użycie procesora CPU oznacza, że serwer Redis nie może nadążyć za żądaniami ze wszystkich klientów. Skalowanie w górę do większej liczby procesorów wirtualnych pomaga dystrybuować żądania w wielu procesach usługi Redis. Skalowanie 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.
- 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.
- 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 do większego rozmiaru pamięci lub wyższej warstwy wydajności.
- Aby uzyskać więcej informacji na temat limitów połączeń według rozmiaru pamięci podręcznej, zobacz Testowanie wydajności za pomocą usługi Azure Managed 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 sprawdzić, ile przepustowości po stronie serwera jest używana, sprawdź metryki "Odczyt pamięci podręcznej" i "Zapis w pamięci podręcznej". Jeśli serwer Redis przekracza dostępną przepustowość sieci, rozważ skalowanie do wyższej warstwy wydajności lub większego rozmiaru pamięci podręcznej.
- Wybór zasad klastra wpływa na dostępną przepustowość sieci. Ogólnie rzecz biorąc, zasady klastra systemu operacyjnego mają wyższą przepustowość sieci niż zasady klastra przedsiębiorstwa . Aby uzyskać więcej informacji, zobacz Zasady klastra
- Aby uzyskać więcej informacji na temat dostępnej przepustowości sieci według rozmiaru pamięci podręcznej, zobacz Testowanie wydajności za pomocą usługi Azure Managed Redis.
Aby uzyskać więcej informacji na temat określania warstwy cenowej pamięci podręcznej do użycia, zobacz Wybieranie odpowiedniej warstwy.
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 Managed Redis
- Nie można skalować z warstw zoptymalizowanych pod kątem pamięci, zrównoważonych lub zoptymalizowanych pod kątem obliczeń do warstwy Zoptymalizowane pod kątem flash ani na odwrót.
- Nie można skalować w dół z do jednostki SKU z mniejszą liczbą procesorów wirtualnych. (Między warstwami lub w warstwie).
- Nie można skalować w dół do mniejszego rozmiaru pamięci, nawet jeśli ma on ten sam lub więcej procesorów wirtualnych.
- W niektórych przypadkach podczas skalowania podstawowy adres IP wystąpienia usługi Redis może ulec zmianie. Rekord DNS dla wystąpienia zmienia się i jest niewidoczny dla większości aplikacji. Jeśli jednak używasz adresu IP do skonfigurowania połączenia z pamięcią podręczną lub skonfigurowania sieciowych grup zabezpieczeń lub zapór zezwalających na ruch do pamięci podręcznej, aplikacja może mieć problemy z nawiązaniem połączenia czasami po aktualizacji rekordów DNS.
- Skalowanie wystąpienia w grupie replikacji geograficznej ma pewne ograniczenia. Aby uzyskać więcej informacji, zobacz Czy istnieją ograniczenia skalowania w replikacji geograficznej?
Skalowanie
Napiwek
Możesz zmienić zarówno rozmiar pamięci, jak i warstwę wydajności w jednej operacji.
Skalowanie przy użyciu witryny Azure Portal
Aby skalować pamięć podręczną, przejdź do pamięci podręcznej w witrynie Azure Portal i wybierz pozycję Skaluj z menu Zasób.
Aby skalować w górę, wybierz inny typ pamięci podręcznej, a następnie wybierz pozycję Zapisz.
Ważne
W przypadku wybrania jednostki SKU, do której nie można przeprowadzić skalowania, opcja Zapisz jest wyłączona. Zapoznaj się z sekcją Wymagania wstępne/ograniczenia skalowania usługi Azure Managed Redis , aby uzyskać szczegółowe informacje na temat dozwolonych opcji skalowania.
Gdy pamięć podręczna jest skalowana do nowej warstwy, zostanie wyświetlone powiadomienie skalowania pamięci podręcznej Redis Cache .
Po zakończeniu skalowania stan zmienia się z Skalowanie na Uruchomione.
Skalowanie przy użyciu programu PowerShell
Wystąpienia usługi Redis zarządzanej platformy Azure można skalować za pomocą programu PowerShell przy użyciu polecenia cmdlet Update-AzRedisEnterpriseCache . Możesz zmodyfikować właściwość, Sku
aby wybrać wymaganą warstwę i jednostkę SKU. W poniższym przykładzie pokazano, jak skalować pamięć podręczną o nazwie myCache
do wystąpienia X20 zoptymalizowanego pod kątem obliczeń (24 GB).
Update-AzRedisEnterpriseCache -ResourceGroupName myGroup -Name myCache -Sku ComputeOptimized_X20
Skalowanie przy użyciu interfejsu wiersza polecenia platformy Azure
Aby skalować wystąpienia usługi Azure Managed Redis przy użyciu interfejsu wiersza polecenia platformy Azure, wywołaj polecenie az redisenterprise update . Możesz zmodyfikować właściwość, sku
aby wybrać wymaganą warstwę i jednostkę SKU. W poniższym przykładzie pokazano, jak skalować pamięć podręczną o nazwie myCache
do wystąpienia X20 zoptymalizowanego pod kątem obliczeń (24 GB).
az redisenterprise update --cluster-name "myCache" --resource-group "myGroup" --sku "ComputeOptimized_X20"
Skalowanie — często zadawane pytania
Poniższa lista zawiera odpowiedzi na często zadawane pytania dotyczące skalowania usługi Azure Managed Redis.
- Czy mogę skalować w różnych warstwach lub w różnych warstwach?
- Czy po skalowaniu muszę zmienić nazwę pamięci podręcznej lub klucze dostępu?
- Jak działa skalowanie?
- Czy utracię dane z pamięci podręcznej podczas skalowania?
- Czy moja pamięć podręczna będzie dostępna podczas skalowania?
- Czy istnieją ograniczenia skalowania w przypadku replikacji geograficznej?
- Jak długo trwa skalowanie?
- Jak sprawdzić, kiedy skalowanie zostało ukończone?
- Czy usługa Azure Managed Redis korzysta z klastrowania?Ile fragmentów używa każda jednostka SKU usługi Redis zarządzanej platformy Azure?
- Jak klucze są dystrybuowane w klastrze?
- Jaki jest największy rozmiar pamięci podręcznej, który mogę utworzyć?
- Jaka jest różnica między zasadami systemu operacyjnego i klastra przedsiębiorstwa?
Czy mogę skalować w różnych warstwach lub w różnych warstwach?
Zawsze można skalować do wyższej warstwy wydajności w tym samym rozmiarze pamięci lub większym rozmiarze pamięci w ramach tej samej warstwy wydajności. Aby przeprowadzić skalowanie do niższej warstwy wydajności lub mniejszego rozmiaru pamięci, zobacz Wymagania wstępne/ograniczenia skalowania usługi Azure Managed Redis.
Czy po skalowaniu muszę zmienić nazwę pamięci podręcznej lub klucze dostępu?
Nie, nazwa pamięci podręcznej i klucze są niezmienione podczas operacji skalowania.
Jak działa skalowanie?
- Podczas skalowania wystąpienia usługi Redis jeden z węzłów w klastrze Redis jest zamykany i ponownie aprowizacji do nowego rozmiaru. Następnie przesyłane dane, a następnie drugi węzeł wykonuje podobny tryb failover, zanim zostanie ponownie zaaprowizowany. Jest to podobne do procesu, który występuje podczas stosowania poprawek lub awarii jednego z węzłów pamięci podręcznej.
- Podczas skalowania do wystąpienia z większą liczbie procesorów wirtualnych nowe fragmenty są aprowidowane i dodawane do klastra serwera Redis. Dane są następnie ponownie podzielone na fragmenty.
Aby uzyskać więcej informacji na temat sposobu obsługi fragmentowania przez usługę Azure Managed Redis, zobacz Konfiguracja fragmentowania.
Czy utracię dane z pamięci podręcznej podczas skalowania?
- Jeśli tryb wysokiej dostępności jest włączony, wszystkie dane powinny być zachowywane podczas operacji skalowania.
- W przypadku skalowania w dół do mniejszego poziomu pamięci dane mogą zostać utracone, jeśli rozmiar danych przekroczy nowy mniejszy rozmiar, gdy pamięć podręczna zostanie przeskalowana w dół. Jeśli dane zostaną utracone podczas skalowania w dół, klucze są eksmitowane przy użyciu zasad eksmisji allkeys-lru .
- Jeśli tryb wysokiej dostępności jest wyłączony, wszystkie dane zostaną utracone, a pamięć podręczna będzie niedostępna podczas operacji skalowania.
Czy moja pamięć podręczna będzie dostępna podczas skalowania?
- Wystąpienia usługi Azure Managed Redis z włączonym trybem wysokiej dostępności pozostają dostępne podczas operacji skalowania. Jednak podczas skalowania tych pamięci podręcznych mogą wystąpić blipy połączeń. Te blipy połączeń są zwykle krótkie, a klienci usługi Redis mogą zwykle ponownie nawiązać połączenie natychmiast.
- Jeśli tryb wysokiej dostępności jest wyłączony, wystąpienie usługi Azure Managed Redis jest w trybie offline podczas operacji skalowania.
Czy istnieją ograniczenia skalowania w przypadku replikacji geograficznej?
Po skonfigurowaniu aktywnej replikacji geograficznej nie można mieszać i dopasowywać rozmiarów pamięci podręcznej w grupie replikacji geograficznej. W związku z tym skalowanie pamięci podręcznych w grupie repozytorium geograficznego wymaga wykonania kilku kolejnych kroków. Aby uzyskać instrukcje, zobacz Skalowanie wystąpień w grupie replikacji geograficznej.
Jak długo trwa skalowanie?
Czas skalowania zależy od kilku czynników. Poniżej przedstawiono niektóre czynniki, które mogą mieć wpływ na czas skalowania.
- Ilość danych: replikowanie większych ilości danych trwa dłużej
- Duże żądania zapisu: większa liczba zapisów oznacza więcej replik danych między węzłami lub fragmentami
- Wysokie użycie procesora CPU: wyższe użycie procesora CPU oznacza, że serwer Redis jest zajęty, a ograniczone cykle procesora CPU są dostępne do ukończenia redystrybucji danych
Ogólnie rzecz biorąc, skalowanie wystąpienia bez danych trwa około 10 minut.
Jak sprawdzić, kiedy skalowanie zostało ukończone?
W witrynie Azure Portal możesz zobaczyć, jak trwa operacja skalowania. Po zakończeniu skalowania stan pamięci podręcznej zmieni się na Uruchomiono.
Czy usługa Azure Managed Redis korzysta z klastrowania?
W przeciwieństwie do usługi Azure Cache for Redis usługa Azure Managed Redis używa klastrowania we wszystkich warstwach i jednostkach SKU. Klastrowanie umożliwia znaczne optymalizacje wydajności. Każda jednostka SKU usługi Azure Managed Redis jest skonfigurowana pod kątem zoptymalizowanej liczby fragmentów dla liczby dostępnych procesorów wirtualnych. Liczba fragmentów nie jest konfigurowalna przez użytkownika.
Ile fragmentów używa każda jednostka SKU usługi Redis zarządzanej platformy Azure?
Ponieważ usługa Azure Managed Redis działa w oprogramowaniu Redis Enterprise, fragmenty mogą być używane w gęstszej konfiguracji niż w społeczności Redis. Aby dowiedzieć się więcej o określonej liczbie fragmentów używanych w każdej jednostce SKU, zobacz Konfiguracja fragmentowania.
Jak klucze są dystrybuowane w klastrze?
Zgodnie z dokumentacją usługi Redis w modelu dystrybucji kluczy: Przestrzeń klucza jest podzielona na 16 384 gniazda. Każdy klucz jest skrótem i przypisany do jednego z tych miejsc, które są dystrybuowane między węzłami klastra. Można skonfigurować, która część klucza jest skrótem, aby upewnić się, że wiele kluczy znajduje się w tym samym fragmentze przy użyciu tagów skrótu.
- Klucze z tagiem skrótu — jeśli jakakolwiek część klucza jest ujęta w
{
element i}
, tylko ta część klucza jest skrótem na potrzeby określania gniazda skrótu klucza. Na przykład następujące trzy klucze znajdują się w tym samym fragmentzie:{key}1
,{key}2
i{key}3
ponieważ tylkokey
część nazwy jest skrótem. Aby uzyskać pełną listę specyfikacji tagów skrótów kluczy, zobacz Tagi skrótów kluczy. - Klucze bez tagu skrótu — cała nazwa klucza jest używana do tworzenia skrótów, co powoduje statystycznie równomierny rozkład w obrębie fragmentów pamięci podręcznej.
Aby uzyskać najlepszą wydajność i przepływność, zalecamy równomierne dystrybuowanie kluczy. Jeśli używasz kluczy z tagiem skrótu, aplikacja odpowiada za równomierne dystrybuowanie kluczy.
Aby uzyskać więcej informacji, zobacz Keys distribution model (Model dystrybucji kluczy), Redis Cluster data sharding (Fragmentowanie danych klastra Redis) i Keys hash tags (Tagi skrótu kluczy).
Jaki jest największy rozmiar pamięci podręcznej, który mogę utworzyć?
Największy rozmiar pamięci podręcznej, który można mieć, to 4,5 TB, nazywany wystąpieniem Flash Optimized A4500. Cennik usługi Azure Cache for Redis.
Jaka jest różnica między zasadami systemu operacyjnego i klastra przedsiębiorstwa?
Zasady klastra systemu operacyjnego są takie same jak podejście klastrowania używane w usłudze Redis w wersji Community Edition. Zazwyczaj zasady klastra systemu operacyjnego są bardziej wydajne. Zasady klastra przedsiębiorstwa implementują klastrowanie, tak aby wyglądały na klienta jako nieklastrowane wystąpienie usługi Redis. Takie podejście może być mniej wydajne, ale może zapobiec problemom ze zgodnością klienta. Obecnie nie można przełączać się między zasadami klastra w uruchomionym wystąpieniu. Aby uzyskać więcej informacji, zobacz Zasady klastra.