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.
Es gibt jetzt als je zuvor mehr Auswahlmöglichkeiten für den Datenbanktyp, der mit Ihrer Datenauslastung verwendet werden soll. Einer der wichtigsten Faktoren für die Auswahl einer Datenbank ist die Leistung der Datenbank oder des Diensts, aber das Benchmarking kann umständlich und fehleranfällig sein. Das Benchmarking-Framework für Azure-Datenbanken vereinfacht den Prozess des Leistungsvergleichs mit beliebten Open-Source-Benchmarking-Tools mit reibungsarmen Rezepten, die gängige bewährte Methoden implementieren. In Azure Cosmos DB für NoSQL implementiert das Framework bewährte Methoden für das Java SDK und verwendet das Open-Source-YCSB-Tool. In diesem Leitfaden verwenden Sie dieses Benchmarking-Framework, um einen Leseworkload zu implementieren, um sich mit dem Framework vertraut zu machen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Kostenlos ein Konto erstellen.
- Azure Cosmos DB for NoSQL-Konto.
Erstellen Sie eine API für noSQL-Konto.
- Stellen Sie sicher, dass Sie den Endpunkt-URI und den Primärschlüssel für das Konto notieren.
- Azure Storage-Konto.
Erstellen Sie ein Azure Storage-Konto.
- Stellen Sie sicher, dass Sie die Verbindungszeichenfolge für das Speicherkonto notieren. Anzeigen der Azure Storage-Verbindungszeichenfolge.
- Zweite leere Ressourcengruppe. Erstellen Sie eine Ressourcengruppe.
- Azure Command-Line Interface (CLI).
Erstellen von Azure Cosmos DB-Kontoressourcen
Zunächst erstellen Sie eine Datenbank und einen Container in der vorhandenen API für NoSQL-Konto.
Navigieren Sie im Azure-Portal zu Ihrer vorhandenen API für NoSQL-Konto.
Wählen Sie im Ressourcenmenü Data Explorer aus.
Wählen Sie auf der Seite "Daten-Explorer " in der Befehlsleiste die Option "Neuer Container " aus.
Erstellen Sie im Dialogfeld "Neuer Container " einen neuen Container mit den folgenden Einstellungen:
Setting Wert Datenbank-ID ycsbDatenbankdurchsatztyp Manuell Datenbankdurchsatzbetrag 400Container-ID usertablePartitionsschlüssel /id
Bereitstellen des Benchmarking-Frameworks für Azure
Jetzt verwenden Sie eine Azure Resource Manager-Vorlage , um das Benchmarking-Framework mit dem Standardrezept zum Lesen in Azure bereitzustellen.
Stellen Sie das Benchmarking-Framework mithilfe einer Azure Resource Manager-Vorlage bereit, die unter diesem Link verfügbar ist.
Auf der Seite "Benutzerdefinierte Bereitstellung" sind die folgenden Parameter:
Wählen Sie Überprüfen + Erstellen und dann Erstellen aus, um die Vorlage bereitzustellen.
Warten Sie, bis die Bereitstellung abgeschlossen ist.
Tipp
Die Bereitstellung kann bis zu 5 bis 10 Minuten dauern.
Anzeigen der Ergebnisse des Benchmarks
Jetzt können Sie das vorhandene Azure Storage-Konto verwenden, um den Status des Benchmarkauftrags zu überprüfen und die aggregierten Ergebnisse anzuzeigen. Der Status wird mithilfe einer Speichertabelle gespeichert, und die Ergebnisse werden mithilfe des CSV-Formats in einem Speicher-Blob aggregiert.
Navigieren Sie im Azure-Portal zu Ihrem vorhandenen Azure Storage-Konto.
Navigieren Sie zu einer Speichertabelle mit dem Namen ycsbbenchmarkingmetadata , und suchen Sie die Entität mit einem Partitionsschlüssel von
ycsb_sql.
Beobachten Sie das
JobStatusFeld der Tabellenentität. Zunächst ist der Status des AuftragsStartedund er enthält einen Zeitstempel in derJobStartTime-Eigenschaft, aber nicht in derJobFinishTime-Eigenschaft.Warten Sie, bis der Auftrag einen Status von
Finishedhat und einen Zeitstempel in derJobFinishTime-Eigenschaft enthält.Tipp
Es kann ungefähr 20-30 Minuten dauern, bis der Auftrag abgeschlossen ist.
Navigieren Sie zum Speichercontainer im selben Konto mit dem Präfix ycsbbenchmarking-*. Sehen Sie sich die Ausgabe- und Diagnoseblobs für das Tool genauer an.
Öffnen Sie das aggregation.csv Blob, und beobachten Sie den Inhalt. Sie sollten jetzt über ein CSV-Dataset mit aggregierten Ergebnissen von allen Benchmarkclients verfügen.
Operation,Count,Throughput,Min(microsecond),Max(microsecond),Avg(microsecond),P9S(microsecond),P99(microsecond) READ,180000,299,706,448255,1079,1159,2867
Rezepte
Das Benchmarking-Framework für Azure-Datenbanken umfasst Rezepte zum Kapseln der Workloaddefinitionen, die an das zugrunde liegende Benchmarking-Tool für eine "1-Click"-Erfahrung übergeben werden. Die Workloaddefinitionen wurden basierend auf den bewährten Methoden entworfen, die vom Azure Cosmos DB-Team und dem Benchmarking-Tool-Team veröffentlicht wurden. Die Rezepte wurden auf konsistente Ergebnisse getestet und validiert.
Sie können davon ausgehen, dass die folgenden Wartezeiten für alle Lese- und Schreibrezepte im GitHub-Repository angezeigt werden.
Häufig auftretende Probleme
Dieser Abschnitt enthält die allgemeinen Fehler, die beim Ausführen des Benchmarking-Tools auftreten können. Die Fehlerprotokolle für das Tool sind in der Regel in einem Container im Azure Storage-Konto verfügbar.
Wenn die Protokolle im Speicherkonto nicht verfügbar sind, wird dieses Problem in der Regel durch eine falsche oder fehlende Speicherverbindungszeichenfolge verursacht. In diesem Fall wird dieser Fehler in der Datei "agent.out " im Ordner "/home/benchmarking " des virtuellen Clientcomputers aufgeführt.
Error while accessing storage account, exiting from this machine in agent.out on the VMDieser Fehler wird in der Datei "agent.out " sowohl in der Client-VM als auch im Speicherkonto aufgeführt, wenn der Azure Cosmos DB-Endpunkt-URI falsch oder nicht erreichbar ist.
Caused by: java.net.UnknownHostException: rtcosmosdbsss.documents.azure.com: Name or service not knownDieser Fehler wird in der Datei "agent.out " sowohl in der Client-VM als auch im Speicherkonto aufgeführt, wenn der Azure Cosmos DB-Schlüssel falsch ist.
The input authorization token can't serve the request. The wrong key is being used….
Nächste Schritte
- Erfahren Sie mehr über das Benchmarking-Tool mit dem Leitfaden "Erste Schritte".