Rozwiązywanie problemów z połączeniem
W tym artykule przedstawiono pomoc dotyczącą rozwiązywania problemów z połączeniem aplikacji klienckiej z Azure Cache for Redis. Problemy z łącznością są podzielone na dwa typy: sporadyczne problemy z łącznością i problemy z ciągłą łącznością.
Sporadyczne problemy z łącznością
Aplikacja kliencka może mieć sporadyczne problemy z łącznością spowodowane zdarzeniami, takimi jak stosowanie poprawek lub wzrost liczby połączeń.
Konserwacja serwera
Czasami pamięć podręczna przechodzi planowaną lub nieplanowaną konserwację serwera. Aplikacja może mieć negatywny wpływ na konserwację. Możesz zweryfikować, sprawdzając Errors (Type: Failover)
metryki w portalu. Aby zminimalizować skutki pracy w trybie failover, zobacz Odporność połączenia.
Liczba połączonych klientów
Sprawdź, czy maksymalna agregacja dla Connected Clients
metryki jest bliska lub większa niż maksymalna liczba dozwolonych połączeń dla określonego rozmiaru pamięci podręcznej. Aby uzyskać więcej informacji na temat określania rozmiaru dla połączeń klienckich, zobacz Azure Cache for Redis wydajność.
Aplikacje hostowane na platformie Kubernetes
- Jeśli aplikacja kliencka jest hostowana na platformie Kubernetes, sprawdź, czy zasobnik z uruchomioną aplikacją kliencka lub węzły klastra nie znajdują się pod obciążeniem pamięci/procesora CPU/sieci. Zasobnik z uruchomioną aplikacją kliencką może mieć wpływ na inne zasobniki uruchomione w tym samym węźle i ograniczać połączenia usługi Redis lub operacje we/wy.
- Jeśli używasz programu Istio lub innej siatki usług, sprawdź, czy serwer proxy siatki usług rezerwuje port 13000-13019 lub 15000-15019. Te porty są używane przez klientów do komunikowania się z klastrowanych węzłów usługi Azure Cache for Redis i mogą powodować problemy z łącznością na tych portach.
Aplikacja kliencka oparta na systemie Linux
Korzystanie z optymistycznych ustawień TCP w systemie Linux może powodować problemy z łącznością aplikacji klienckich. Zobacz Stoiska połączeń trwające przez 15 minut.
Ciągła łączność
Jeśli aplikacja nie może nawiązać połączenia z Azure Cache for Redis, możliwe, że niektóre konfiguracje w pamięci podręcznej nie są poprawnie skonfigurowane. W poniższych sekcjach przedstawiono sugestie dotyczące prawidłowego konfigurowania pamięci podręcznej.
Testowanie łączności przy użyciu interfejsu wiersza polecenia usługi Redis
Przetestuj łączność przy użyciu interfejsu wiersza polecenia usługi Redis. Aby uzyskać więcej informacji na temat interfejsu wiersza polecenia, użyj narzędzia wiersza polecenia Redis z Azure Cache for Redis.
Testowanie łączności przy użyciu funkcji PSPING
Jeśli nie można nawiązać połączenia z interfejsem wiersza polecenia redis , możesz przetestować łączność przy użyciu PSPING
programu PowerShell.
psping -q <cache DNS endpoint>:<Port Number>
Możesz potwierdzić, że liczba wysłanych pakietów jest równa odebranych pakietom. Potwierdzanie zapewnia brak spadku łączności.
Konfiguracja sieci wirtualnej
Kroki sprawdzania konfiguracji sieci wirtualnej:
- Sprawdź, czy sieć wirtualna jest przypisana do pamięci podręcznej z sekcji "Virtual Network" w obszarze Ustawienia w menu Zasób Azure Portal.
- Upewnij się, że maszyna hosta klienta znajduje się w tej samej sieci wirtualnej co usługa Azure Cache for Redis.
- Gdy aplikacja kliencka znajduje się w innej sieci wirtualnej niż usługa Azure Cache for Redis, obie sieci wirtualne muszą mieć włączoną komunikację równorzędną sieci wirtualnych w tym samym regionie świadczenia usługi Azure.
- Sprawdź, czy reguły ruchu przychodzącego i wychodzącego spełniają wymagania.
- Aby uzyskać więcej informacji, zobacz Konfigurowanie sieci wirtualnej — wystąpienie Azure Cache for Redis warstwy Premium.
Konfiguracja prywatnego punktu końcowego
Kroki sprawdzania konfiguracji prywatnego punktu końcowego:
Public Network Access
flaga jest domyślnie wyłączona podczas tworzenia prywatnego punktu końcowego. Upewnij się, że ustawionoPublic Network Access
poprawnie. Gdy pamięć podręczna znajduje się w Azure Portal, sprawdź w obszarze Prywatny punkt końcowy w menu Zasób po lewej stronie dla tego ustawienia.- Jeśli próbujesz nawiązać połączenie z prywatnym punktem końcowym pamięci podręcznej spoza sieci wirtualnej pamięci podręcznej,
Public Network Access
należy ją włączyć. - Jeśli usunięto prywatny punkt końcowy, upewnij się, że dostęp do sieci publicznej jest włączony.
- Sprawdź, czy prywatny punkt końcowy jest poprawnie skonfigurowany. Aby uzyskać więcej informacji, zobacz Tworzenie prywatnego punktu końcowego z nowym wystąpieniem Azure Cache for Redis.
- Sprawdź, czy aplikacja łączy się
<cachename>.redis.cache.windows.net
z portem 6380. Zalecamy unikanie użycia parametrów<cachename>.privatelink.redis.cache.windows.net
w konfiguracji lub parametrach połączenia. - Uruchom polecenie, takie jak
nslookup <hostname>
z sieci wirtualnej połączonej z prywatnym punktem końcowym, aby sprawdzić, czy polecenie jest rozpoznawane jako prywatny adres IP pamięci podręcznej.
Reguły zapory
Jeśli masz zaporę skonfigurowaną dla usługi Azure Cache For Redis, upewnij się, że adres IP klienta został dodany do reguł zapory. Zaporę można sprawdzić w menu Zasób w obszarze Ustawienia w Azure Portal.
Zapora innej firmy lub zewnętrzny serwer proxy
Jeśli używasz zapory lub serwera proxy innej firmy w sieci, sprawdź, czy punkt końcowy dla Azure Cache for Redis , *.redis.cache.windows.net
jest dozwolony wraz z portami 6379
i 6380
. W przypadku korzystania z klastrowanej pamięci podręcznej lub replikacji geograficznej może być konieczne zezwolenie na więcej portów.
Zmiana publicznego adresu IP
Jeśli skonfigurowano dowolny zasób sieci lub zabezpieczeń do korzystania z publicznego adresu IP pamięci podręcznej, sprawdź, czy publiczny adres IP pamięci podręcznej uległ zmianie. Aby uzyskać więcej informacji, zobacz Temat Polegaj na nazwie hosta, a nie publicznym adresie IP pamięci podręcznej.
Następne kroki
Te artykuły zawierają więcej informacji na temat łączności i odporności: