Sdílet prostřednictvím


Řešení potíží při sníženém výkonu služby Azure Traffic Manager

Tento článek popisuje, jak řešit potíže s profilem Azure Traffic Manageru, u kterého se zobrazuje snížený stav. Prvním krokem při řešení potíží se sníženým výkonem Služby Azure Traffic Manager je povolení protokolování. Další informace najdete v tématu Povolení protokolů prostředků. V tomto scénáři zvažte, že nakonfigurujete profil Traffic Manageru odkazující na některé z vašich cloudapp.net hostovaných služeb. Pokud se ve stavu Traffic Manageru zobrazuje degradovaný stav, může se stav jednoho nebo několika koncových bodů snížit:

degradovaný stav koncového bodu

Pokud se ve stavu Traffic Manageru zobrazuje neaktivní stav, můžou být oba koncové body zakázané:

Neaktivní stav Traffic Manageru

Principy sond Traffic Manageru

  • Traffic Manager považuje koncový bod za ONLINE, pouze když sonda obdrží odpověď HTTP 200 zpět z cesty sondy. Pokud vaše aplikace vrátí jakýkoli jiný kód odpovědi HTTP, měli byste tento kód odpovědi přidat do očekávaných rozsahů stavových kódů vašeho profilu Traffic Manageru.
  • Odpověď na přesměrování 30x se považuje za selhání, pokud ji nezadáte jako platný kód odpovědi v očekávaných rozsahech stavových kódů vašeho profilu Traffic Manageru. Traffic Manager neprovádí sondu cíle přesměrování.
  • U sond HTTPs se chyby certifikátu ignorují.
  • Skutečný obsah cesty sondy nezáleží, pokud se vrátí hodnota 200. Probing abing url to some static content like "/favicon.ico" is a common technique. Dynamický obsah, jako jsou stránky ASP, nemusí vždy vracet 200, i když je aplikace v pořádku.
  • Osvědčeným postupem je nastavit cestu sondy na něco, co má dostatečnou logiku k určení, že je lokalita nahoru nebo dolů. V předchozím příkladu nastavením cesty na /favicon.ico testujete pouze to, že w3wp.exe reaguje. Tato sonda nemusí znamenat, že je vaše webová aplikace v pořádku. Lepší možností je nastavit cestu k něčemu, jako je /Probe.aspx, který má logiku pro určení stavu webu. Můžete například použít čítače výkonu k využití procesoru nebo změřit počet neúspěšných požadavků. Nebo se můžete pokusit o přístup k databázovým prostředkům nebo stavu relace, abyste měli jistotu, že webová aplikace funguje.
  • Pokud jsou všechny koncové body v profilu degradované, Traffic Manager zachází se všemi koncovými body jako se stavem v pořádku a směruje provoz do všech koncových bodů. Toto chování zajišťuje, že problémy s probačním mechanismem nebudou mít za následek úplný výpadek vaší služby.

Řešení problému

K řešení potíží se selháním sondy potřebujete nástroj, který zobrazuje návrat stavového kódu HTTP z adresy URL sondy. K dispozici je mnoho nástrojů, které ukazují nezpracovanou odpověď HTTP.

K zobrazení odpovědí HTTP můžete také použít kartu Síť v nástrojích ladění F12 v Internet Exploreru.

V tomto příkladu chceme vidět odpověď z adresy URL sondy: http://watestsdp2008r2.cloudapp.net:80/Probe. Tento problém ilustruje následující příklad PowerShellu.

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

Příklad výstupu:

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

Všimněte si, že jsme dostali odpověď pro přesměrování. Jak jsme uvedli dříve, jakýkoli stavový kód jiný než 200 se považuje za selhání. Traffic Manager změní stav koncového bodu na offline. Pokud chcete tento problém vyřešit, zkontrolujte konfiguraci webu a ujistěte se, že se z cesty sondy může vrátit správný kód StatusCode. Překonfigurujte sondu Traffic Manageru tak, aby ukazovala na cestu, která vrací hodnotu 200.

Pokud test používá protokol HTTPS, možná budete muset zakázat kontrolu certifikátů, abyste se vyhnuli chybám SSL/TLS během testu. Následující příkazy PowerShellu zakazují ověření certifikátu pro aktuální relaci PowerShellu:

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

Další kroky

O metodách směrování provozu Traffic Manageru

Co je Traffic Manager

Cloud Services

Azure App Service

Operace v Traffic Manageru (referenční informace k rozhraní API REST)

Rutiny Azure Traffic Manageru