Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Nachdem Sie die diagnose erfasst haben, die Sie verwenden möchten, besteht der nächste Schritt darin, zu verstehen, was sie sagen.
Es ist hilfreich, ein gutes Verständnis dafür zu haben, was jede Spalte im Abfragediagnoseschema bedeutet. In diesem Lernprogramm werden diese Informationen nicht behandelt. Eine vollständige Beschreibung finden Sie unter Abfragediagnose.
Im Allgemeinen verwenden Sie beim Erstellen von Visualisierungen die vollständige detaillierte Tabelle. Unabhängig davon, wie viele Zeilen sie enthält, sehen Sie wahrscheinlich eine Art Visualisierung davon, wie sich die für verschiedene Ressourcen aufgewendete Zeit summiert, oder welche native Abfrage generiert wurde.
Wie im Artikel zum Aufzeichnen der Diagnosedaten erwähnt, arbeitet dieses Beispiel mit den OData- und SQL-Traces für die Tabelle „Customers“ aus Northwind. Insbesondere liegt der Schwerpunkt auf einer häufigen Kundenanforderung und auf einer der leichter zu interpretierenden Sammlungen von Ablaufverfolgungen: der vollständigen Aktualisierung des Datenmodells.
Erstellen der Visualisierungen
Wenn Sie Ablaufverfolgungen überprüfen, können Sie sie auf viele Arten auswerten. In diesem Artikel werden zwei Visualisierungen beschrieben. Die erste Visualisierung zeigt die Details, die Sie interessieren, und die andere zeigt die Zeitbeiträge verschiedener Faktoren. Verwenden Sie für die erste Visualisierung eine Tabelle. Sie können beliebige Felder auswählen, aber verwenden Sie für einen einfachen, allgemeinen Blick auf die aktuellen Felder die folgenden Felder:
- Id
- Startzeit
- Abfrage
- Schritt
- Datenquellenabfrage
- Ausschließliche Dauer (%)
- Zeilenanzahl
- Kategorie
- Ist Benutzerabfrage
- Pfad
Verwenden Sie für die zweite Visualisierung ein gestapeltes Säulendiagramm. Verwenden Sie im Parameter AxisId oder Step. Wenn Sie sich die Aktualisierung ansehen, da sie nichts mit schritten im Editor selbst zu tun hat, möchten Sie wahrscheinlich nur die ID betrachten. Legen Sie für den Legendenparameter " Category " oder "Operation " (abhängig von der gewünschten Granularität) fest. Legen Sie für den Parameter ValueExclusive Duration fest, und stellen Sie sicher, dass nicht % ausgewählt ist, damit Sie den Rohwert der Dauer erhalten. Legen Sie für den Tooltip-Parameter die früheste Startzeit fest.
Stellen Sie nach dem Erstellen der Visualisierung sicher, dass Sie nach "Früheste Startzeit " aufsteigend sortieren, damit Sie die Reihenfolge sehen können, in der Ereignisse auftreten.
Obwohl Ihre genauen Anforderungen variieren können, ist diese Kombination von Diagrammen ein guter Ausgangspunkt für die Analyse zahlreicher Diagnosedateien und für viele Anwendungsfälle.
Interpretieren der Visualisierungen
Wie bereits erwähnt, kann die Abfragediagnose Ihnen dabei helfen, viele Fragen zu beantworten. Die beiden häufigsten Fragen sind, wie Zeit aufgewendet wird und welche Abfrage an die Quelle gesendet wird.
Es ist einfach zu verstehen, wie Zeit aufgewendet wird, und das ist bei den meisten Konnektoren ähnlich. Wie an anderer Stelle erwähnt, sehen Sie je nach Connector jedoch drastisch unterschiedliche Funktionen. Beispielsweise liefern viele ODBC-basierte Konnektoren keine genaue Aufzeichnung der Abfrage, die Power Query an den ODBC-Treiber sendet.
Überprüfen Sie die zuvor erstellten Visualisierungen, um zu sehen, wie viel Zeit aufgewendet wird.
Da die Zeitwerte der hier verwendeten Beispielabfragen so klein sind, ist es besser, die Spalte Exklusive Dauer im Power Query-Editor in Sekunden umzuwandeln, wenn Sie mit der Darstellung von Zeitwerten in Power BI arbeiten möchten. Nachdem Sie diese Konvertierung vorgenommen haben, können Sie sich Ihr Diagramm ansehen und eine klare Vorstellung davon erhalten, wo Zeit aufgewendet wird.
Für die OData-Ergebnisse zeigt die folgende Abbildung, dass die meiste Zeit zum Abrufen der Daten aus der Quelle aufgewendet wird. Wenn Sie das Datenquellenelement in der Legende auswählen, werden alle verschiedenen Vorgänge im Zusammenhang mit dem Senden einer Abfrage an die Datenquelle angezeigt.
Wenn Sie alle gleichen Vorgänge ausführen und ähnliche Visualisierungen erstellen, aber die SQL-Ablaufverfolgungen anstelle der ODATA-Ablaufverfolgungen verwenden, können Sie sehen, wie die beiden Datenquellen verglichen werden.
Wenn Sie die Datenquellentabelle wie bei der ODATA-Diagnose auswählen, sehen Sie, dass die erste Auswertung (2.3 in dieser Abbildung) Metadatenabfragen sendet, und die zweite Auswertung ruft die gewünschten Daten ab. In diesem Beispiel werden kleine Datenmengen abgerufen, sodass der Datenabruf eine geringe Zeit dauert (weniger als ein Zehntel einer Sekunde für die gesamte zweite Auswertung mit weniger als einem zwanzigsten Sekunden für den Datenabruf selbst), aber diese Geschwindigkeit gilt in allen Fällen nicht.
Wählen Sie wie zuvor die Kategorie "Datenquelle " in der Legende aus, um die ausgegebenen Abfragen anzuzeigen.
Tief in die Daten eintauchen
Betrachten von Pfaden
Wenn Sie diese Daten untersuchen, stellen Sie möglicherweise fest, dass die aufgewendete Zeit ungewöhnlich erscheint. In der OData-Abfrage können Sie beispielsweise sehen, dass es eine Datenquellenabfrage mit dem folgenden Wert gibt:
Request:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle%20eq%20%27Sales%20Representative%27&$select=CustomerID%2CCountry HTTP/1.1
Content-Type: application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7
<Content placeholder>
Response:
Content-Type: application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7
Content-Length: 435
<Content placeholder>
Diese Datenquellenabfrage ist einem Vorgang zugeordnet, der beispielsweise nur 1 % der exklusiven Dauer ausmacht. Unterdessen gibt es eine ähnliche:
Request:
GET https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry HTTP/1.1
Response:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry
HTTP/1.1 200 OK
Diese Datenquellenabfrage ist einem Vorgang zugeordnet, der fast 75 % der exklusiven Ausführungsdauer in Anspruch nimmt. Wenn Sie den Pfad aktivieren, entdecken Sie, dass letztere tatsächlich ein Kind des ersteren ist. Diese Erkenntnis bedeutet, dass die erste Abfrage für sich genommen nur wenig Zeit hinzufügt, wobei der tatsächliche Datenabruf von der inner-Abfrage erfasst wird.
Diese Werte sind extrem, aber sie befinden sich innerhalb der Grenzen, die Sie möglicherweise sehen.