Ř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, který zobrazuje snížený výkon. 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 si představte, že jste nakonfigurovali profil Traffic Manageru odkazující na některé cloudapp.net hostované služby. Pokud traffic Manager zobrazuje degradovaný stav, může být stav jednoho nebo více koncových bodů Snížený výkon:

snížený výkon stavu koncového bodu

Pokud traffic Manager zobrazuje stav Neaktivní , můžou být oba koncové body Zakázané:

Neaktivní stav Traffic Manageru

Principy testů Traffic Manageru

  • Traffic Manager považuje koncový bod za ONLINE, jenom když sonda obdrží odpověď HTTP 200 z cesty sondy. Pokud 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ého rozsahu stavových kódů vašeho profilu Traffic Manageru.
  • Odpověď 30x přesměrovávání se považuje za selhání, pokud jste ji nezadáli jako platný kód odpovědi v rozsahech očekávaných 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átů ignorují.
  • Na skutečném obsahu cesty sondy nezáleží, pokud se vrátí hodnota 200. Běžnou technikou je změření adresy URL k nějakému statickému obsahu, jako je /favicon.ico. Dynamický obsah, jako jsou stránky ASP, nemusí vždy vrátit hodnotu 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 spuštěná nebo mimo provoz. V předchozím příkladu nastavením cesty na /favicon.ico pouze testujete, že w3wp.exe reaguje. Tato sonda nemusí naznačovat, že je vaše webová aplikace v pořádku. Lepší možností je nastavit cestu k nějakému objektu, 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 měřit počet neúspěšných požadavků. Nebo se můžete pokusit o přístup k prostředkům databáze nebo stavu relace, abyste se ujistili, že webová aplikace funguje.
  • Pokud mají všechny koncové body v profilu snížený výkon, Traffic Manager považuje všechny koncové body za v pořádku a směruje provoz do všech koncových bodů. Toto chování zajišťuje, že problémy se zjištěným mechanismem nevedou k úplnému výpadku vaší služby.

Řešení potíží

K řešení potíží se selháním sondy potřebujete nástroj, který zobrazí stavový kód HTTP vrácený z adresy URL sondy. K dispozici je mnoho nástrojů, které zobrazují nezpracovanou odpověď HTTP.

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

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

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 obdrželi odpověď přesměrování. Jak jsme uvedli dříve, jakýkoliv 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 dá vrátit správný stavový kód. Překonfigurujte sondu Traffic Manageru tak, aby ukazovala na cestu, která vrací hodnotu 200.

Pokud vaše sonda používá protokol HTTPS, možná budete muset zakázat kontrolu certifikátů, abyste se během testu vyhnuli chybám SSL/TLS. Následující příkazy PowerShellu zakazují ověřování certifikátů 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

Cloudové služby

Azure App Service

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

Rutiny Azure Traffic Manageru