Die Behebung von Leistungsproblemen bei SQL Server Analysis Services (SSAS) kann frustrierend sein, insbesondere für Datenexperten, die neu bei der Plattform sind.
Um SSAS-Leistungsprobleme schnell und ordnungsgemäß zu erkennen und zu beheben, müssen Sie wissen, wo potenzielle Engpässe bestehen und welche Kennzahlen beim Identifizieren der Problembereiche hilfreich sind.
Das SQL Sentry-Leistungsdashboard zeigt sowohl Windows- als auch SSAS-spezifische Messdaten nebeneinander an, damit Sie einen umfassenden Überblick über die Leistung der Datenplattform erhalten.
Das Erkennen von Leistungsproblemen, die mit dem Datenbankdesign zusammenhängen, kann schwierig sein, insbesondere, wenn Sie nicht einfach Rücksprache mit dem Team halten können, das das Datenmodell erstellt hat.
Wenn Sie unbekannte Dateien in Ihrem SSAS-Protokollordner sehen, wird SSAS möglicherweise neu gestartet, was ein Problem bei der Verarbeitung oder Abfrage verursachen könnte.
Wenn SSAS gerade dann nur langsam funktioniert, wenn Sie Berichte an Stakeholder übermitteln müssen, muss Ihr System möglicherweise für Workloads mit hoher Parallelität optimiert werden.
Wenn die Behebung von SSAS-Leistungsproblemen das Einrichten von Ablaufverfolgungen oder DMV-Abfragen umfasst, verschwenden Sie möglicherweise Zeit, die Sie für strategischere Initiativen aufwenden könnten.
Abfrage- und Verarbeitungsaktivitäten wirken sich auf die SSAS-Leistung aus, unabhängig davon, ob Sie den mehrdimensionalen oder tabellarischen Modus verwenden. Viele der gleichen Konzepte und Best Practices, die für Abfragen und Sicherungen in relationalen Datenbanken wie SQL Server gelten, können auch für das Verständnis von Abfragen und Verarbeitungen in SSAS herangezogen werden.
Aktivität | Beschreibung |
Abfrage |
|
Verarbeitung |
|
SSAS verwendet bei der Ausführung von Abfragen zwei primäre Engines: die Formel-Engine und die Speicher-Engine. Jede der beiden Engines kann die Ursache eines Leistungsengpasses sein; bei der Fehlerbehebung wird identifiziert, auf welche Engine das Problem zurückzuführen ist. In der folgenden Tabelle werden die primären Funktionen der einzelnen Engines aufgeführt.
Engine-Typ | Funktionen |
Formel-Engine |
|
Speicher-Engine |
|
Als Erstes müssen Sie bei der Ermittlung von Leistungsproblemen ermitteln, ob Verarbeitungs- und Abfrageaktivitäten gleichzeitig stattfinden. Sobald Sie dies ausgeschlossen haben, können SQL Server Profiler-Ablaufverfolgungsereignisse bestimmen, welche Abfrage-Engine – Formel- oder Speicher-Engine – den Engpass verursacht. Die folgende Tabelle enthält Details zu den Profiler-Ablaufverfolgungsereignissen, die bei der Behebung von SSAS-Leistungsproblemen eine wichtige Rolle spielen.
Profiler-Ablaufverfolgungsereignis | Indikator für das Ablaufverfolgungsereignis |
Befehlsbeginn/‑ende | Verarbeitung von Befehlen beginnt und endet |
Abfragebeginn/‑ende | Abfragen beginnen und enden |
Abfrageteilcube/ausführliche Abfrage | Dauer der Abfrage der Formel-Engine an die Speicher-Engine (mehrdimensionaler Modus) |
Statusberichtbeginn/‑ende | Beginn und Ende von Dateilesevorgängen (mehrdimensionaler Modus) |
Abrufen der Daten aus Aggregation | Dauer des Abrufs von Daten aus Aggregationen. Bei diesen Daten handelt es sich um gespeicherte, vorab berechnete Daten, die typischerweise zur Handhabung der Workload in der Umgebung benötigt werden (mehrdimensionaler Modus) |
Beginn/Ende der VertiPaq SE-Abfrage | Dauer der Abfrage der Formel-Engine an die Speicher-Engine (tabellarischer Modus) |
Beginn/Ende der direkten Abfrage | Dauer der Abfrage der relationalen Datenquelle für die Daten |
Um festzustellen, welche Engine die Ursache des Problems darstellt, addieren Sie die kumulativen Dauerangaben, die für „Abfrageteilcube/ausführliche Abfrage“, „Statusberichtbeginn/‑ende“, „Abrufen der Daten aus Aggregation“, „Beginn/Ende der VertiPaq SE-Abfrage“ und „Ende der direkten Abfrage“ angegeben sind, und vergleichen Sie sie mit der Gesamtzeit für „Abfragebeginn/‑ende“.
Wenn die Gesamtdauer:
Neben der Kenntnis der Abfrage-Engine, die die Leistung beeinträchtigt, ist es wichtig, spezifische Abfrage- und Systemattribute zu identifizieren, die zu Leistungsproblemen beitragen.
Obwohl SQL Server Performance Monitor (PerfMon) und andere Tools viele Kennzahlen liefern, die beim Identifizieren von Leistungsproblemen nützlich sind, können IT-Teams mit SolarWinds SentryOne SQL Sentry Leistungsprobleme so identifizieren, dass sie die Ursache der Probleme sowohl finden als auch beheben können.
SQL Sentry erfasst und speichert kontinuierlich Messdaten, damit Sie Verlaufsdaten für eine Untersuchung verwenden können. Mit dem Dashboard (siehe unten) können Sie mehrere Kennzahlen über Zeiträume hinweg korrelieren und so von einer vereinfachten Sicht auf potenzielle Problembereiche profitieren.
SQL Sentry-Dashboard
„In SQL Sentry können Sie zu jedem beliebigen Zeitpunkt zurückkehren, um festzustellen, was vor sich ging; Sie müssen nicht auf den Server schauen, wenn das Problem auftritt, um es zu untersuchen.“
– Steve Wright, SentryOne Director of Solutions Engineering
In einigen Fällen umfassen die identifizierten Leistungsprobleme die Abfrageoptimierung. Wenn eine Optimierung von MDX- oder DAX-Abfragen erforderlich ist, sind vor allem drei primäre Faktoren zu berücksichtigen:
Mit SQL Sentry können Sie die mehrdimensionalen und tabellarischen Modi von SQL Server Analysis Services (SSAS) überwachen, diagnostizieren und optimieren. Mit SQL Sentry erhalten Sie einzigartige Einblicke in SSAS-Leistungsprobleme, einschließlich Engpässen im Zusammenhang mit Arbeitsspeicher- und Speichersystemen, Aggregationsverwendung, nicht optimierten Abfragen sowie Abfrage- und Verarbeitungsaufgaben, die um dieselben Ressourcen konkurrieren.
SQL Sentry bietet erweiterte Unterstützung für den tabellarischen Modus von SSAS und fortlaufende Unterstützung für den mehrdimensionalen Modus, damit Sie häufige SSAS-Leistungsprobleme identifizieren und beheben können.
Umfassende Einblicke in die Verarbeitungsaktivität, Leistung und die Auswirkungen auf Workloads
Einzigartige Einblicke in die VertiPaq-Arbeitsspeicherlimits und Paging-Richtlinie
Ansicht „Top Commands“, mit der Sie Engpässe bei DAX- und MDX-Abfragen identifizieren können
Registerkarte „Object Memory Usage“, über die Sie die In-Memory-Komprimierung Ihres Datenmodells optimieren können
Das SQL Sentry-Leistungsdashboard zeigt sowohl Windows- als auch SSAS-spezifische Messdaten nebeneinander an, damit Sie einen umfassenden Überblick über die Leistung der Datenplattform erhalten. Hier finden Sie weitere Informationen zur erweiterten Unterstützung für SSAS Tabular in SQL Sentry.
SQL Sentry liefert einen umfassenden Überblick über die SSAS-Leistung, sodass Sie Probleme, die weitreichende Auswirkungen auf Ihren gesamten Datenbestand haben, identifizieren und beheben können.
Auf der Registerkarte „SQL Sentry Top Commands“ werden die SSAS-Sammlung auf Abfrageebene und alle MDX-, DAX- oder XMLA-Befehle angezeigt, die länger als eine Sekunde ausgeführt wurden. Alle ähnlichen Abfragen wurden erfasst und gruppiert, sodass Sie die Gesamtwirkungen sehen können.
Die Registerkarte „SQL Sentry SSAS Usage Totals“ enthält Informationen dazu, welche Maßnahmen auf Grundlage der Aktivitätsstufe zu ergreifen sind. Diese Informationen sind in drei verschiedene Gruppen unterteilt:
Attribute – zeigt an, welche Attributkombinationen am stärksten betroffen sind, damit Sie feststellen können, ob das Erstellen einer Aggregation die Leistung verbessern würde
Aggregationen – zeigt die verwendeten Aggregationen an
Partitionen – zeigt die am häufigsten gelesenen Partitionen an
Die im Performance Analysis-Dashboard in BI Sentry angezeigten SSAS-Leistungsmessdaten liefern wertvolle Einblicke in die Ursache von Leistungsproblemen bei SQL Server Analysis Services (SSAS). Mit praktisch umsetzbaren Informationen sparen Sie Zeit bei der Behebung von SSAS-Leistungsproblemen.