Hallo,
Basierend auf Ihrer Beschreibung deutet die Tatsache, dass Hunderte von Abfragen in der Warteschlange warten, darauf hin, dass das Warehouse seine Concurrency-Limits erreicht und eingehende Workloads nicht mehr effizient verarbeiten kann. In den meisten Fällen würde ich zunächst empfehlen, die Query History und das Warehouse Load Profile zu überprüfen, um festzustellen, ob der Engpass durch viele gleichzeitig ausgeführte, kurz laufende Abfragen oder durch eine kleine Anzahl lang laufender Workloads verursacht wird.
Bei Umgebungen mit anhaltenden Warteschlangen ist die Erhöhung von MAX_CLUSTERS bei einem Multi-Cluster Warehouse in der Regel effektiver, als lediglich die Scaling Policy zu ändern. Die STANDARD-Scaling-Policy ermöglicht normalerweise einen schnelleren Cluster-Start und kürzere Query-Wartezeiten, während ECONOMY stärker auf Kostenoptimierung ausgerichtet ist und möglicherweise längere Warteschlangen zulässt, bevor zusätzliche Cluster hinzugefügt werden. Wenn die Reaktionsfähigkeit von Dashboards und die Einhaltung von ETL-SLAs kritisch sind, ist STANDARD in der Regel die geeignetere Option.
Ich empfehle außerdem, die Workloads nach Möglichkeit zu trennen. Wenn Ad-hoc-Analysen, BI-Dashboards und geplante ETL-Jobs auf dedizierten Warehouses ausgeführt werden, kann verhindert werden, dass ein Workload-Typ die gesamte verfügbare Concurrency beansprucht und dadurch andere Workloads beeinträchtigt. MAX_CONCURRENCY_LEVEL kann zwar angepasst werden, eine zu aggressive Erhöhung kann jedoch die Performance einzelner Abfragen reduzieren, da mehr Requests um dieselben Ressourcen konkurrieren.
Ein sinnvoller Ansatz besteht darin, zunächst über mehrere Geschäftszyklen hinweg die durchschnittliche Queue Time, Cluster-Auslastung und den Credit-Verbrauch zu überwachen. Wenn die Warteschlangen nach einer Erhöhung von MAX_CLUSTERS verschwinden, während die Auslastung weiterhin hoch bleibt, liegt wahrscheinlich tatsächlich ein Concurrency-Engpass vor. Wenn die Auslastung trotz langer Warteschlangen niedrig bleibt, sollten zunächst das Query Design, die Warehouse-Größe oder die Workload-Isolation untersucht werden, bevor weitere Cluster hinzugefügt werden.
Ich hoffe, diese Informationen helfen Ihnen dabei, die Ursache weiter einzugrenzen. Wenn Sie diese Antwort hilfreich finden, klicken Sie bitte auf „Accept Answer“, damit ich weiß, dass sie Ihre Frage beantwortet hat.
Jason