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:

  1. Sprawdź, czy sieć wirtualna jest przypisana do pamięci podręcznej z sekcji "Virtual Network" w obszarze Ustawienia w menu Zasób Azure Portal.
  2. Upewnij się, że maszyna hosta klienta znajduje się w tej samej sieci wirtualnej co usługa Azure Cache for Redis.
  3. 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.
  4. Sprawdź, czy reguły ruchu przychodzącego i wychodzącego spełniają wymagania.
  5. 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:

  1. Public Network Access flaga jest domyślnie wyłączona podczas tworzenia prywatnego punktu końcowego. Upewnij się, że ustawiono Public 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.
  2. 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ć.
  3. Jeśli usunięto prywatny punkt końcowy, upewnij się, że dostęp do sieci publicznej jest włączony.
  4. 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.
  5. 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.
  6. 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.netjest 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: