Udostępnij za pośrednictwem


Autoskalowanie nie jest wyzwalane dla roli FileUploader

Ten artykuł zawiera informacje na temat rozwiązywania problemów, w których autoskalowanie nie jest wyzwalane dla roli FileUploader, chociaż użycie procesora CPU w jednym z wystąpień zawsze pozostaje na poziomie 100%.

Oryginalna wersja produktu: usługa API Management
Oryginalny numer KB: 4464899

Uwaga 16.

Zapoznaj się z artykułem dotyczącym serii rozwiązywania problemów z usługami w chmurze platformy Azure. Jest to trzeci scenariusz laboratorium. Upewnij się, że wykonano instrukcje konfiguracji laboratorium dotyczące aplikacji kompresora zgodnie z tym, aby odtworzyć problem.

Symptomy

Jedno z wystąpień roli FileUploader (FileUploader_IN_1) zużywa 100% procesora CPU, natomiast w pozostałych dwóch wystąpieniach użycie procesora CPU jest normalne. Zgodnie z instrukcją laboratorium utworzono regułę autoskalowania dla roli FileUploader na podstawie metryki "Procentowe użycie procesora CPU", ale nie jest wyzwalana z jakiegoś powodu.

Wykorzystanie procesora CPU ze wszystkich wystąpień:

Zrzut ekranu przedstawiający użycie procesora CPU FileUploader_IN_0 wystąpienie zużywa 3% procesora CPU.

Zrzut ekranu przedstawiający wykorzystanie procesora CPU z FileUploader_IN_1 wystąpienie zużywa 100% procesora CPU.

Zrzut ekranu przedstawiający użycie procesora CPU FileUploader_IN_2 wystąpienie zużywa 3% procesora CPU.

Kroki rozwiązywania problemów

Jeśli dokładnie przyjrzysz się skonfigurowanej regule autoskalowania, reguła zostanie wyzwolona tylko wtedy, gdy średnie użycie procesora CPU wszystkich wystąpień roli jest większe niż 90, co nie dzieje się w tym przypadku.

{
   "properties": {
      "name": "Autoscale based on CPU metric",
      "enabled": true,
      "targetResourceUri": "/subscriptions/{subscription-id}/resourceGroups/cloudservicelab/providers/Microsoft.ClassicCompute/domainNames/cloudservicelabs/slots/Production/roles/FileUploader",
      "profiles": [
         {
            "name": "Auto created scale condition",
            "capacity": {
               "minimum": "1",
               "maximum": "4",
               "default": "1"
            },
            "rules": [
               {
                  "scaleAction": {
                     "direction": "Increase",
                     "type": "ChangeCount",
                     "value": "1",
                     "cooldown": "PT10M"
                  },
                  "metricTrigger": {
                     "metricName": "Percentage CPU",
                     "metricNamespace": "",
                     "metricResourceUri": "/subscriptions/{subscription-id}/resourceGroups/cloudservicelab/providers/Microsoft.ClassicCompute/domainNames/cloudservicelabs/slots/Production/roles/FileUploader",
                     "operator": "GreaterThan",
                     "statistic": "Average",
                     "threshold": 90,
                     "timeAggregation": "Average",
                     "timeGrain": "PT5M",
                     "timeWindow": "PT30M"
                  }
               }
            ]
         }
      ],
      "notifications": [],
      "targetResourceLocation": "southcentralus"
   }
}

Skonfiguruj diagnostykę usług Azure Cloud Services i sprawdź użycie procesora CPU każdego wystąpienia roli z tabeli WADPerformanceCountersTable. Możesz również pobrać dane metryk dla roli usługi w chmurze przy użyciu tego interfejsu API REST lub programu PowerShell.

Możesz również monitorować średnie wykorzystanie procesora CPU roli FileUploader na karcie Metryki w zasobie usługi w chmurze. Jak widać na poniższym wykresie, średnie wykorzystanie procesora CPU wynosi około 33,35%, co jest dość poniżej progu.

Zrzut ekranu przedstawiający średnie wykorzystanie procesora CPU roli FileUploader.

Dlatego dolna linia to reguły skalowania automatycznego, które używają mechanizmu wykrywania opartego na mierzonym atrybucie wyzwalacza (takim jak użycie procesora CPU), używają zagregowanej wartości w czasie, a nie natychmiastowych wartości, aby wyzwolić akcję skalowania automatycznego. Domyślnie agregacja jest średnią wartości we wszystkich wystąpieniach roli. W związku z tym w przypadku wielu wystąpień każda maszyna wirtualna PaaS zgłasza liczbę procentową użycia procesora CPU. Aby je skonsolidować, rola usługi w chmurze oblicza "statystykę" we wszystkich wystąpieniach. Jeśli na przykład w roli usługi w chmurze istniały trzy wystąpienia, jedno uruchomione na poziomie 30% procesora CPU, drugie na poziomie 60%, a drugie na poziomie 90% procesora CPU, rola będzie emitować średnie wykorzystanie procesora CPU wynoszące 60%.

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.