Mierzenie wydajności usługi Azure Cosmos DB for NoSQL za pomocą struktury testów porównawczych
Istnieje więcej opcji, niż kiedykolwiek wcześniej, na typie bazy danych do użycia z obciążeniem danych. Jednym z kluczowych czynników do wybierania bazy danych jest wydajność bazy danych lub usługi, ale wydajność testów porównawczych może być uciążliwa i podatna na błędy. Struktura testów porównawczych dla baz danych platformy Azure upraszcza proces mierzenia wydajności za pomocą popularnych narzędzi do testów porównawczych typu open source z przepisami o niskim tarciu, które implementują typowe najlepsze rozwiązania. W usłudze Azure Cosmos DB for NoSQL platforma implementuje najlepsze rozwiązania dla zestawu JAVA SDK i używa narzędzia YCSB typu open source. W tym przewodniku użyjesz tej struktury testów porównawczych, aby zaimplementować obciążenie odczytu w celu zapoznania się ze strukturą.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Konto usługi Azure Cosmos DB for NoSQL. Utwórz interfejs API dla konta NoSQL.
- Pamiętaj, aby zanotować identyfikator URI punktu końcowego i klucz podstawowy dla konta.
- Konto usługi Azure Storage. Utwórz konto usługi Azure Storage.
- Pamiętaj, aby zanotować parametry połączenia dla konta magazynu. Vies Azure Storage parametry połączenia.
- Druga pusta grupa zasobów. Utwórz grupę zasobów.
- Interfejs wiersza polecenia (CLI) platformy Azure.
Tworzenie zasobów konta usługi Azure Cosmos DB
Najpierw należy utworzyć bazę danych i kontener w istniejącym interfejsie API dla konta NoSQL.
Przejdź do istniejącego konta interfejsu API dla noSQL w witrynie Azure Portal.
W menu zasobów wybierz pozycję Eksplorator danych.
Na stronie Eksplorator danych wybierz opcję Nowy kontener na pasku poleceń.
W oknie dialogowym Nowy kontener utwórz nowy kontener z następującymi ustawieniami:
Ustawienie Wartość Identyfikator bazy danych ycsb
Typ przepływności bazy danych Ręczne Ilość przepływności bazy danych 400
Identyfikator kontenera usertable
Klucz partycji /id
Wdrażanie platformy testów porównawczych na platformie Azure
Teraz użyjesz szablonu usługi Azure Resource Manager, aby wdrożyć platformę testów porównawczych na platformie Azure przy użyciu domyślnego przepisu odczytu.
Wdróż platformę testów porównawczych przy użyciu szablonu usługi Azure Resource Manager dostępnego pod tym linkiem.
Na stronie Wdrożenie niestandardowe następujące parametry
Wybierz pozycję Przejrzyj i utwórz , a następnie pozycję Utwórz , aby wdrożyć szablon.
Zaczekaj na zakończenie wdrażania.
Napiwek
Ukończenie wdrożenia może potrwać od 5 do 10 minut.
Wyświetlanie wyników testu porównawczego
Teraz możesz użyć istniejącego konta usługi Azure Storage, aby sprawdzić stan zadania testu porównawczego i wyświetlić zagregowane wyniki. Stan jest przechowywany przy użyciu tabeli magazynu, a wyniki są agregowane w obiekt blob magazynu przy użyciu formatu CSV.
Przejdź do istniejącego konta usługi Azure Storage w witrynie Azure Portal.
Przejdź do tabeli magazynu o nazwie ycsbbenchmarkingmetadata i znajdź jednostkę przy użyciu klucza
ycsb_sql
partycji .Zwróć uwagę na
JobStatus
pole jednostki tabeli. Początkowo stan zadania toStarted
i zawiera znacznik czasu weJobStartTime
właściwości, ale nieJobFinishTime
właściwość .Poczekaj, aż zadanie ma stan
Finished
i zawiera znacznik czasu weJobFinishTime
właściwości .Napiwek
Ukończenie zadania może potrwać około 20–30 minut.
Przejdź do kontenera magazynu na tym samym koncie z prefiksem ycsbbenchmarking-*. Obserwuj dane wyjściowe i diagnostyczne obiekty blob dla narzędzia.
Otwórz obiekt blob aggregation.csv i obserwuj zawartość. Teraz powinien istnieć zestaw danych CSV z zagregowanymi wynikami ze wszystkich klientów porównawczych.
Operation,Count,Throughput,Min(microsecond),Max(microsecond),Avg(microsecond),P9S(microsecond),P99(microsecond) READ,180000,299,706,448255,1079,1159,2867
Przepisy
Struktura testów porównawczych dla baz danych platformy Azure zawiera przepisy hermetyzujące definicje obciążeń, które są przekazywane do bazowego narzędzia do porównywania porównawczego dla środowiska "1-Click". Definicje obciążeń zostały zaprojektowane na podstawie najlepszych rozwiązań opublikowanych przez zespół usługi Azure Cosmos DB i zespół narzędzia do testów porównawczych. Przepisy zostały przetestowane i sprawdzone pod kątem spójnych wyników.
Możesz spodziewać się następujących opóźnień dla wszystkich przepisów odczytu i zapisu w repozytorium GitHub.
Typowe problemy
Ta sekcja zawiera typowe błędy, które mogą wystąpić podczas uruchamiania narzędzia do testów porównawczych. Dzienniki błędów narzędzia są zwykle dostępne w kontenerze na koncie usługi Azure Storage.
Jeśli dzienniki nie są dostępne na koncie magazynu, ten problem jest zwykle spowodowany nieprawidłowym lub brakującym magazynem parametry połączenia. W tym przypadku ten błąd jest wyświetlany w pliku agent.out w folderze /home/benchmarking maszyny wirtualnej klienta.
Error while accessing storage account, exiting from this machine in agent.out on the VM
Ten błąd znajduje się w pliku agent.out zarówno na maszynie wirtualnej klienta, jak i na koncie magazynu, jeśli identyfikator URI punktu końcowego usługi Azure Cosmos DB jest niepoprawny lub nie można go osiągać.
Caused by: java.net.UnknownHostException: rtcosmosdbsss.documents.azure.com: Name or service not known
Ten błąd znajduje się w pliku agent.out zarówno na maszynie wirtualnej klienta, jak i na koncie magazynu, jeśli klucz usługi Azure Cosmos DB jest niepoprawny.
The input authorization token can't serve the request. The wrong key is being used….
Następne kroki
- Dowiedz się więcej o narzędziu do porównywania porównawczego, korzystając z przewodnika Wprowadzenie.