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.
Diagnose und Problembehandlung sind wichtige Fähigkeiten zum Erstellen und Unterstützen von Clientanwendungen mit Azure Storage.
Aufgrund der dezentralen Natur einer Azure-Anwendung kann sich die Diagnose und Behebung sowohl von Fehlern als auch Leistungsproblemen als komplexer erweisen als in herkömmlichen Umgebungen.
Die folgenden Schritte veranschaulichen, wie Sie Latenzprobleme mithilfe von Azure Storage Analytics-Protokollen identifizieren und beheben und die Clientanwendung optimieren.
Empfohlene Schritte
Laden Sie die Storage Analytics-Protokolle herunter.
Verwenden Sie das folgende PowerShell-Skript, um die Protokolle im Rohdatenformat in ein Tabellenformat zu konvertieren:
$Columns = ( "version-number", "request-start-time", "operation-type", "request-status", "http-status-code", "end-to-end-latency-in-ms", "server-latency-in-ms", "authentication-type", "requester-account-name", "owner-account-name", "service-type", "request-url", "requested-object-key", "request-id-header", "operation-count", "requester-ip-address", "request-version-header", "request-header-size", "request-packet-size", "response-header-size", "response-packet-size", "request-content-length", "request-md5", "server-md5", "etag-identifier", "last-modified-time", "conditions-used", "user-agent-header", "referrer-header", "client-request-id" ) $logs = Import-Csv "REPLACE THIS WITH FILE PATH" -Delimiter ";" -Header $Columns $logs | Out-GridView -Title "Storage Analytic Log Parser"
Das Skript startet ein GUI-Fenster, in dem Sie die Informationen wie unten gezeigt nach Spalten filtern können.
Schränken Sie die Protokolleinträge basierend auf dem Vorgangstyp ein, und suchen Sie nach dem Protokolleintrag, der während des Zeitrahmens des Problems erstellt wurde.
Folgende Werte sind während des Zeitraums, in dem das Problem auftrat, von Bedeutung:
Operation-type
=GetBlob
request-status
=SASNetworkError
End-to-End-Latency-In-Ms
= 8,453Server-Latency-In-Ms
= 391
End-to-End Latency
wird mit der folgenden Formel berechnet:End-to-End Latency
=Server-Latency
+Client Latency
Berechnen Sie die Clientlatenz anhand des Protokolleintrags:
Client Latency
=End-to-End Latency
–Server-Latency
Beispiel: 8.453 – 391 = 8.062 ms
Die folgende Tabelle enthält Informationen zu den Ergebnissen von OperationType und RequestStatus mit hoher Latenz:
Blobtyp RequestStatus=
ErfolgRequestStatus=
(SAS)NetworkErrorEmpfehlung GetBlob Ja Nein GetBlob Operation: RequestStatus = Success GetBlob Nein Ja GetBlob Operation: RequestStatus = (SAS)NetworkError PutBlob Ja Nein Put Operation: RequestStatus = Success PutBlob Nein Ja Put Operation: RequestStatus = (SAS)NetworkError
Statusergebnisse
GetBlob-Vorgang: RequestStatus = Success
Überprüfen Sie die folgenden Werte, wie in Schritt 5 des Abschnitts "Empfohlene Schritte " erwähnt:
End-to-End Latency
Server-Latency
Client-Latency
In einem GetBlob Operation
With mit RequestStatus = Success
, wenn Max Time
sie in verwendet Client-Latency
wird , gibt dies an, dass Azure Storage eine große Menge Zeit für das Schreiben von Daten in den Client verbringt. Diese Verzögerung gibt ein clientseitiges Problem an.
Empfehlung:
- Untersuchen Sie den Code in Ihrem Client.
- Verwenden Sie Wireshark, Microsoft Message Analyzer oder TCPing, um Netzwerkverbindungsprobleme des Client zu untersuchen.
GetBlob-Vorgang: RequestStatus = (SAS)NetworkError
Überprüfen Sie die folgenden Werte, wie in Schritt 5 des Abschnitts "Empfohlene Schritte " erwähnt:
End-to-End Latency
Server-Latency
Client-Latency
In einem GetBlob Operation
With mit RequestStatus = (SAS)NetworkError
, wenn Max Time
sie in ausgegeben Client-Latency
wird , besteht das häufigste Problem darin, dass der Client die Verbindung trennt, bevor ein Timeout im Speicherdienst abläuft.
Empfehlung:
- Untersuchen Sie den Code in Ihrem Client, um herauszufinden, warum und wann der Client die Verbindung zum Speicherdienst abbricht.
- Verwenden Sie Wireshark, Microsoft Message Analyzer oder TCPing, um Netzwerkverbindungsprobleme des Client zu untersuchen.
Put-Vorgang: RequestStatus = Success
Überprüfen Sie die folgenden Werte, wie in Schritt 5 des Abschnitts "Empfohlene Schritte " erwähnt:
End-to-End Latency
Server-Latency
Client-Latency
In einem Put Operation
Mit - RequestStatus = Success
wenn in - Client-Latency
gibt Max Time
dies an, dass der Client mehr Zeit für das Senden von Daten an den Azure Storage in Anspruch nimmt. Diese Verzögerung deutet auf ein clientseitiges Problem hin.
Empfehlung:
- Untersuchen Sie den Code in Ihrem Client.
- Verwenden Sie Wireshark, Microsoft Message Analyzer oder TCPing, um Netzwerkverbindungsprobleme des Client zu untersuchen.
Put-Vorgang: RequestStatus = (SAS)NetworkError
Überprüfen Sie die folgenden Werte, wie es in Schritt 5 des Abschnitts „Empfohlene Schritte“ angegeben ist:
End-to-End Latency
Server-Latency
Client-Latency
In einem PutBlob Operation
With mit RequestStatus = (SAS)NetworkError
, wenn Max Time
sie in ausgegeben Client-Latency
wird , besteht das häufigste Problem darin, dass der Client die Verbindung trennt, bevor ein Timeout im Speicherdienst abläuft.
Empfehlung:
- Untersuchen Sie den Code in Ihrem Client, um herauszufinden, warum und wann der Client die Verbindung zum Speicherdienst abbricht.
- Verwenden Sie Wireshark, Microsoft Message Analyzer oder TCPing, um Netzwerkverbindungsprobleme des Client zu untersuchen.
Informationen zum Haftungsausschluss von Drittanbietern
Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.