Rozwiązywanie problemów ze stanem obniżonej wydajności usługi Azure Traffic Manager

W tym artykule opisano sposób rozwiązywania problemów z profilem usługi Azure Traffic Manager, który pokazuje stan obniżonej wydajności. Pierwszym krokiem rozwiązywania problemów ze stanem obniżonej wydajności usługi Azure Traffic Manager jest włączenie rejestrowania. Aby uzyskać więcej informacji, zobacz Włączanie dzienników zasobów . W tym scenariuszu należy wziąć pod uwagę, że skonfigurowano profil usługi Traffic Manager wskazujący niektóre z cloudapp.net hostowanych usług. Jeśli kondycja usługi Traffic Manager wyświetla stan Obniżona sprawność , stan co najmniej jednego punktu końcowego może mieć obniżoną sprawność:

stan obniżonej wydajności punktu końcowego

Jeśli kondycja usługi Traffic Manager wyświetla stan Nieaktywny , oba punkty końcowe mogą być wyłączone:

Stan nieaktywnej usługi Traffic Manager

Informacje o sondach usługi Traffic Manager

  • Usługa Traffic Manager uwzględnia punkt końcowy w trybie ONLINE tylko wtedy, gdy sonda odbiera odpowiedź HTTP 200 z powrotem ze ścieżki sondy. Jeśli aplikacja zwróci jakikolwiek inny kod odpowiedzi HTTP, należy dodać ten kod odpowiedzi do oczekiwanych zakresów kodu stanu profilu usługi Traffic Manager.
  • 30-x odpowiedź przekierowania jest traktowana jako błąd, chyba że określono ten kod jako prawidłowy kod odpowiedzi w zakresach oczekiwanego kodu stanu profilu usługi Traffic Manager. Usługa Traffic Manager nie sonduje obiektu docelowego przekierowania.
  • W przypadku sond protokołu HTTPs błędy certyfikatu są ignorowane.
  • Rzeczywista zawartość ścieżki sondy nie ma znaczenia, o ile zostanie zwrócona wartość 200. Sondowanie adresu URL do jakiejś zawartości statycznej, takiej jak "/favicon.ico", jest powszechną techniką. Zawartość dynamiczna, podobnie jak strony ASP, może nie zawsze zwracać wartość 200, nawet jeśli aplikacja jest w dobrej kondycji.
  • Najlepszym rozwiązaniem jest ustawienie ścieżki sondy na coś, co ma wystarczającą logikę, aby określić, czy lokacja jest w górę lub w dół. W poprzednim przykładzie, ustawiając ścieżkę na "/favicon.ico", testujesz tylko, że w3wp.exe odpowiada. Ta sonda może nie wskazywać, że aplikacja internetowa jest w dobrej kondycji. Lepszym rozwiązaniem jest ustawienie ścieżki do elementu takiego jak "/Probe.aspx", które ma logikę określania kondycji lokacji. Na przykład można użyć liczników wydajności do wykorzystania procesora CPU lub zmierzyć liczbę żądań zakończonych niepowodzeniem. Możesz też spróbować uzyskać dostęp do zasobów bazy danych lub stanu sesji, aby upewnić się, że aplikacja internetowa działa.
  • Jeśli wszystkie punkty końcowe w profilu są obniżone, usługa Traffic Manager traktuje wszystkie punkty końcowe jako w dobrej kondycji i kieruje ruch do wszystkich punktów końcowych. To zachowanie zapewnia, że problemy z mechanizmem sondowania nie powodują całkowitej awarii usługi.

Rozwiązywanie problemów

Aby rozwiązać problem z niepowodzeniem sondy, potrzebne jest narzędzie, które wyświetla kod stanu HTTP zwracany z adresu URL sondy. Dostępnych jest wiele narzędzi, które pokazują nieprzetworzone odpowiedzi HTTP.

Ponadto możesz użyć karty Sieć narzędzi debugowania F12 w programie Internet Explorer, aby wyświetlić odpowiedzi HTTP.

W tym przykładzie chcemy zobaczyć odpowiedź z adresu URL sondy: http://watestsdp2008r2.cloudapp.net:80/Probe. Poniższy przykład programu PowerShell ilustruje problem.

Invoke-WebRequest 'http://watestsdp2008r2.cloudapp.net/Probe' -MaximumRedirection 0 -ErrorAction SilentlyContinue | Select-Object StatusCode,StatusDescription

Przykładowe dane wyjściowe:

StatusCode StatusDescription
---------- -----------------
        301 Moved Permanently

Zwróć uwagę, że otrzymaliśmy odpowiedź przekierowania. Jak wspomniano wcześniej, każdy kod StatusCode inny niż 200 jest uznawany za błąd. Usługa Traffic Manager zmienia stan punktu końcowego na Offline. Aby rozwiązać ten problem, sprawdź konfigurację witryny internetowej, aby upewnić się, że z ścieżki sondy może zostać zwrócony odpowiedni kod StanuCode. Skonfiguruj ponownie sondę usługi Traffic Manager, aby wskazywała ścieżkę zwracającą wartość 200.

Jeśli sonda korzysta z protokołu HTTPS, może być konieczne wyłączenie sprawdzania certyfikatów, aby uniknąć błędów protokołu SSL/TLS podczas testu. Następujące instrukcje programu PowerShell wyłączają walidację certyfikatu dla bieżącej sesji programu PowerShell:

add-type @"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
    public bool CheckValidationResult(
    ServicePoint srvPoint, X509Certificate certificate,
    WebRequest request, int certificateProblem) {
    return true;
    }
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy

Następne kroki

Informacje o metodach routingu ruchu w usłudze Traffic Manager

Co to jest usługa Traffic Manager

Usługi w chmurze

Azure App Service

Operacje w usłudze Traffic Manager (dokumentacja interfejsu API REST)

Polecenia cmdlet usługi Azure Traffic Manager