次の方法で共有


FileUploader ロールに対して自動スケールがトリガーされない

この記事では、いずれかのインスタンスの CPU 使用率は常に 100% のままですが、FileUploader ロールに対して自動スケーリングがトリガーされない問題のトラブルシューティングについて説明します。

元の製品バージョン: API Management サービス
元の KB 番号: 4464899

注:

Azure Cloud Service トラブルシューティング シリーズに関する記事を参照してください。これはラボの 3 番目のシナリオです。 この手順に従って、コンプレッサー アプリケーションのラボのセットアップ手順に従って、問題を再現してください。

現象

FileUploader ロール インスタンス (FileUploader_IN_1) の 1 つは 100% CPU を消費しているのに対し、他の 2 つのインスタンスでは CPU 使用率は正常です。 ラボの指示に従って、"CPU 使用率" メトリックに基づいて FileUploader ロールの自動スケーリング ルールを作成しましたが、何らかの理由でトリガーされません。

すべてのインスタンスからの CPU 使用率:

インスタンスが 3% CPU を消費FileUploader_IN_0示す CPU 使用率のスクリーンショット。

インスタンスが 100% CPU を消費FileUploader_IN_1示す CPU 使用率のスクリーンショット。

インスタンスが 3% CPU を消費FileUploader_IN_2示す CPU 使用率のスクリーンショット。

手順のトラブルシューティング

構成した自動スケーリング ルールを注意深く調べれば、すべてのロール インスタンスの平均 CPU 使用率が 90 を超える場合にのみルールがトリガーされ、この場合は発生しません。

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

Azure Cloud Services の診断を設定し、WADPerformanceCountersTable から各ロール インスタンスの CPU 使用率をチェックします。 また、この REST API または PowerShell を使用して、クラウド サービス ロールのメトリック データをフェッチすることもできます。

また、クラウド サービス リソースの [ メトリック] タブから FileUploader ロールの平均 CPU 使用率を監視することもできます。 したがって、下のグラフからわかるように、平均 CPU 使用率はしきい値をかなり下回る約 33.35% です。

FileUploader ロールの平均 CPU 使用率のスクリーンショット。

そのため、一番下の行は、測定されたトリガー属性 (CPU 使用率など) に基づく検出メカニズムを使用する自動スケーリング ルールであり、瞬時の値ではなく、時間の経過と共に集計された値を使用して自動スケーリング アクションをトリガーします。 既定では、集計はロールのすべてのインスタンスの値の平均です。 そのため、複数のインスタンスの場合、各 PaaS VM は CPU 使用率の数値を報告します。 これらを統合するために、クラウド サービス ロールは、すべてのインスタンスで "統計" を計算します。 たとえば、クラウド サービス ロールに 3 つのインスタンスがあり、1 つは 30% の CPU で実行され、2 つ目は 60% で実行され、もう 1 つは 90% の CPU で実行されている場合、ロールは平均 CPU 使用率 60% を生成します。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。