Dela via


Autoskalning utlöses inte för rollen FileUploader

Den här artikeln innehåller information om felsökningsproblem där autoskalning inte utlöses för FileUploader-rollen, även om processoranvändningen i en av instanserna alltid ligger kvar på 100 %.

Ursprunglig produktversion: API Management Service
Ursprungligt KB-nummer: 4464899

Kommentar

I artikeln om felsökningsserien för Azure Cloud Service är det här det tredje scenariot i labbet. Kontrollera att du har följt instruktionerna för labbkonfiguration för kompressorprogrammet enligt detta för att återskapa problemet.

Symptom

En av rollinstanserna i FileUploader (FileUploader_IN_1) förbrukar 100 % CPU, medan processoranvändningen i de andra två instanserna är normal. Enligt labbinstruktionen har du skapat en autoskalningsregel för FileUploader-rollen baserat på måttet "Procent cpu", men den utlöses inte av någon anledning.

CPU-användning från alla instanser:

Skärmbild av CPU-användning som visar FileUploader_IN_0 instans förbrukar 3 % CPU.

Skärmbild av CPU-användning som visar FileUploader_IN_1 instans förbrukar 100 % CPU.

Skärmbild av CPU-användning som visar FileUploader_IN_2 instans förbrukar 3 % CPU.

Felsökningssteg

Om du noga tittar på autoskalningsregeln som vi har konfigurerat, står det att regeln endast utlöses om den genomsnittliga CPU-användningen för alla rollinstanser är större än 90, vilket inte sker i det här fallet.

{
   "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"
   }
}

Konfigurera diagnostik för Azure Cloud Services och kontrollera processoranvändningen för varje rollinstans från WADPerformanceCountersTable. Du kan också hämta måttdata för molntjänstrollen med hjälp av det här REST-API:et eller PowerShell.

Du kan också övervaka den genomsnittliga CPU-användningen av Rollen FileUploader från fliken Mått i molntjänstresursen. Så som du kan se i diagrammet nedan är den genomsnittliga CPU-användningen cirka 33,35 % som ligger ganska under tröskelvärdet.

Skärmbild av den genomsnittliga CPU-användningen av FileUploader-rollen.

Så den nedre raden är regler för automatisk skalning som använder en identifieringsmekanism baserat på ett uppmätt utlösarattribut (till exempel CPU-användning) som använder ett aggregerat värde över tid, i stället för omedelbara värden, för att utlösa en autoskalningsåtgärd. Som standard är aggregeringen ett medelvärde av värdena för alla instanser av rollen. Så om det finns flera instanser rapporterar varje virtuell PaaS-dator ett tal för procentandel cpu. För att konsolidera dessa beräknar molntjänstrollen "statistiken" för alla instanser. Om det till exempel finns tre instanser i en molntjänstroll, en som körs med 30 % CPU, en andra på 60 % och en annan som körs med 90 % CPU, skulle rollen generera en genomsnittlig CPU-användning på 60 %.

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.