Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tej sekcji omówiono rozwiązywanie problemów spowodowanych przez warunki na serwerze Azure Managed Redis lub dowolnym z hostujących go maszyn wirtualnych.
- Wysokie użycie procesora CPU
- Wysokie użycie pamięci
- Długotrwałe polecenia
- Ograniczenie przepustowości po stronie serwera
Uwaga / Notatka
Kilka kroków rozwiązywania problemów w tym przewodniku zawiera instrukcje dotyczące uruchamiania poleceń usługi Redis i monitorowania różnych metryk wydajności. Aby uzyskać więcej informacji i instrukcji, zobacz artykuły w sekcji Dodatkowe informacje.
Wysokie zużycie procesora
Wysokie obciążenie procesora CPU oznacza, że serwer Redis jest zajęty i nie może nadążyć za żądaniami, co prowadzi do przekroczenia limitu czasu. Sprawdź metrykę obciążenia procesora CPU w pamięci podręcznej, wybierając pozycję Monitorowanie z menu Zasób po lewej stronie. Wykres procesora CPU jest widoczny w okienku roboczym w obszarze Szczegółowe informacje. Możesz też dodać metrykę ustawioną na procesor CPU w obszarze Metryki.
Poniżej przedstawiono kilka opcji, które należy wziąć pod uwagę w przypadku wysokiego użycia procesora CPU.
Skalowanie w górę lub przejście do wyższej warstwy wydajności
Aby uzyskać większą wydajność, rozważ skalowanie w górę do większego rozmiaru pamięci podręcznej przy użyciu większej liczby rdzeni procesora CPU. Aby uzyskać więcej informacji, zobacz Warstwy wydajności.
Szybkie zmiany liczby połączeń klientów
Aby uzyskać więcej informacji, zobacz Unikanie skoków połączeń klientów.
Długotrwałe polecenia lub kosztowne zapytania
Aby uzyskać więcej informacji, zobacz Długotrwałe polecenia.
Skalowanie
Operacje skalowania intensywnie korzystają z procesora CPU i pamięci, ponieważ mogą obejmować przenoszenie danych wokół węzłów i zmienianie topologii klastra. Aby uzyskać więcej informacji, zobacz Skalowanie.
Konserwacja serwera
Jeśli usługa Azure Managed Redis przeszła tryb failover, wszystkie połączenia klientów z węzła, które uległy awarii, są przenoszone do węzła, który jest nadal uruchomiony. Procesor CPU może wzrosnąć z powodu zwiększonych połączeń. Możesz spróbować ponownie uruchomić aplikacje klienckie, aby wszystkie połączenia klienckie zostały ponownie utworzone i redystrybuowane między dwoma węzłami.
Wysokie użycie pamięci
Duże użycie pamięci na serwerze może prowadzić do różnych problemów z wydajnością, które opóźniają przetwarzanie żądań. Gdy pojawia się duże użycie pamięci, system zaczyna stronicować dane na dysku, co powoduje znaczne spowolnienie systemu.
Istnieje kilka możliwych przyczyn takiego wysokiego wykorzystania pamięci:
- Pamięć podręczna jest niemal w całości wypełniona danymi
- W serwerze Redis występuje duża fragmentacja pamięci
Fragmentacja może być spowodowana tym, że wzorzec obciążenia przechowuje dane o dużym rozmiarze. Na przykład fragmentacja może wystąpić, gdy dane są rozłożone na 1 KB i 1 MB rozmiaru. Gdy klucz 1 KB zostanie usunięty z istniejącej pamięci, klucz 1 MB nie może zmieścić się w nim powodując fragmentację. Podobnie, jeśli klucz 1 MB zostanie usunięty i zostanie dodany klucz 1,5 MB, nie może zmieścić się w istniejącej odzyskanej pamięci. Powoduje to nieużywaną ilość wolnej pamięci i powoduje większą fragmentację.
Jeśli wartość used_memory_rss jest wyższa niż 1,5 razy metryka used_memory, w pamięci występuje fragmentacja. Fragmentacja może powodować problemy, gdy:
- Użycie pamięci jest zbliżone do maksymalnego limitu pamięci dla pamięci podręcznej lub
-
UsedMemory_RSSjest wyższy niż maksymalny limit pamięci, co potencjalnie powoduje błędy strony w pamięci.
Jeśli pamięć podręczna jest pofragmentowana i działa pod dużym obciążeniem pamięci, system wykonuje tryb failover, aby spróbować odzyskać pamięć o rozmiarze zestawu rezydentów (RSS).
Usługa Redis uwidacznia dwie statystyki used_memory i used_memory_rss, za pomocą polecenia INFO, które może pomóc w zidentyfikowaniu tego problemu. Te metryki można wyświetlić w portalu.
Istnieje kilka możliwych zmian, które mogą pomóc w poprawnym użyciu pamięci:
- Utwórz alerty dotyczące metryk, takich jak używana pamięć, aby otrzymywać powiadomienia na wczesnym etapie o potencjalnym wpływie.
- Skalowanie do większego rozmiaru pamięci podręcznej z większą pojemnością pamięci. Aby uzyskać więcej informacji, zobacz Planowanie usługi Azure Managed Redis — często zadawane pytania.
Aby uzyskać zalecenia dotyczące zarządzania pamięcią, zobacz Najlepsze rozwiązania dotyczące zarządzania pamięcią.
Długotrwałe polecenia
Aby uzyskać więcej informacji, zobacz Długotrwałe polecenia.
Ograniczenie przepustowości po stronie serwera
Aby uzyskać więcej informacji, zobacz Ograniczenia przepustowości sieci.