Měření výkonu služby Azure Cosmos DB for NoSQL s využitím architektury srovnávacích testů

U typu databáze, kterou chcete použít s datovými úlohami, je teď více možností. Jedním z klíčových faktorů při výběru databáze je výkon databáze nebo služby, ale výkon srovnávacích testů může být těžkopádný a náchylný k chybám. Architektura srovnávacích testů pro Azure Database zjednodušuje proces měření výkonu pomocí oblíbených opensourcových nástrojů pro srovnávací testy s nízkými třeními, které implementují běžné osvědčené postupy. Ve službě Azure Cosmos DB for NoSQL architektura implementuje osvědčené postupy pro sadu Java SDK a používá opensourcový nástroj YCSB . V této příručce použijete tuto srovnávací architekturu k implementaci úlohy čtení, abyste se seznámili s architekturou.

Požadavky

Vytvoření prostředků účtu služby Azure Cosmos DB

Nejprve vytvoříte databázi a kontejner v existujícím účtu rozhraní API for NoSQL.

  1. Na webu Azure Portal přejděte ke svému stávajícímu účtu API for NoSQL.

  2. V nabídce prostředků vyberte Průzkumník dat.

    Snímek obrazovky se zvýrazněnou možností Průzkumník dat v nabídce prostředků

  3. Na stránce Průzkumník dat vyberte na panelu příkazů možnost Nový kontejner.

    Snímek obrazovky s možností Nový kontejner na panelu příkazů Průzkumníka dat

  4. V dialogovém okně Nový kontejner vytvořte nový kontejner s následujícím nastavením:

    Nastavení Hodnota
    ID databáze ycsb
    Typ propustnosti databáze Ruční
    Velikost propustnosti databáze 400
    ID kontejneru usertable
    Klíč oddílu /id

    Snímek obrazovky s dialogovým oknem Nový kontejner na stránce Průzkumník dat

Nasazení architektury srovnávacích testů do Azure

Teď pomocí šablony Azure Resource Manageru nasadíte rozhraní srovnávacích testů do Azure s výchozím receptem pro čtení.

  1. Nasaďte architekturu srovnávacích testů pomocí šablony Azure Resource Manageru, která je k dispozici na tomto odkazu.

    Tlačítko Nasadit do Azure

  2. Na stránce Vlastní nasazení následující parametry

    Snímek obrazovky se stránkou Vlastní nasazení s vyplněnými hodnotami parametrů

  3. Vyberte Zkontrolovat a vytvořit a pak vytvořit a nasaďte šablonu.

  4. Počkejte, až se nasazení dokončí.

    Tip

    Dokončení nasazení může trvat 5 až 10 minut.

Zobrazení výsledků srovnávacího testu

Teď můžete pomocí existujícího účtu Azure Storage zkontrolovat stav úlohy srovnávacího testu a zobrazit agregované výsledky. Stav se uloží pomocí tabulky úložiště a výsledky se agregují do objektu blob úložiště pomocí formátu CSV.

  1. Na webu Azure Portal přejděte ke svému existujícímu účtu Azure Storage.

  2. Přejděte do tabulky úložiště s názvem ycsbbenchmarkingmetadata a vyhledejte entitu s klíčem oddílu ycsb_sql.

    Snímek obrazovky s tabulkou ycsbbenchmarkingMetadata v účtu úložiště

  3. JobStatus Prohlédněte si pole entity tabulky. Na začátku je Started stav úlohy a obsahuje časové razítko ve JobStartTime vlastnosti, ale ne JobFinishTime vlastnost.

  4. Počkejte, až má úloha stav Finished a zahrne do JobFinishTime vlastnosti časové razítko.

    Tip

    Dokončení úlohy může trvat přibližně 20 až 30 minut.

  5. Přejděte do kontejneru úložiště ve stejném účtu s předponou ycsbbenchmarking-*. Prohlédněte si výstup a diagnostické objekty blob nástroje.

    Snímek obrazovky kontejneru a výstupních objektů blob z nástroje pro srovnávací testy

  6. Otevřete aggregation.csv objekt blob a prohlédněte si obsah. Teď byste měli mít datovou sadu CSV s agregovanými výsledky ze všech klientů srovnávacích testů.

    Snímek obrazovky s obsahem objektu blob výsledků agregace

    Operation,Count,Throughput,Min(microsecond),Max(microsecond),Avg(microsecond),P9S(microsecond),P99(microsecond)
    READ,180000,299,706,448255,1079,1159,2867
    

Návody

Architektura srovnávacích testů pro Azure Database zahrnuje recepty pro zapouzdření definic úloh, které se předávají základnímu nástroji pro srovnávací testy pro prostředí "1-Click". Definice úloh byly navrženy na základě osvědčených postupů publikovaných týmem služby Azure Cosmos DB a týmem nástroje pro srovnávací testy. Recepty byly testovány a ověřeny pro konzistentní výsledky.

U všech receptů pro čtení a zápis v úložišti GitHub můžete očekávat následující latence.

  • Latence čtení

    Diagram typické latence čtení v průměru kolem 1 milisekundy až 2 milisekundy

  • Latence zápisu

    Diagram typické latence zápisu v průměru kolem 4 milisekund

Běžné problémy

Tato část obsahuje běžné chyby, ke kterým může dojít při spuštění nástroje pro srovnávací testy. Protokoly chyb pro nástroj jsou obvykle dostupné v kontejneru v rámci účtu azure Storage.

Snímek obrazovky s kontejnerem a objekty blob v účtu úložiště

  • Pokud protokoly nejsou v účtu úložiště dostupné, příčinou tohoto problému je obvykle nesprávná nebo chybějící připojovací řetězec úložiště. V tomto případě je tato chyba uvedená v souboru agent.out ve složce /home/benchmarking klientského virtuálního počítače.

    Error while accessing storage account, exiting from this machine in agent.out on the VM
    
  • Tato chyba je uvedená v souboru agent.out jak v klientském virtuálním počítači, tak v účtu úložiště, pokud je identifikátor URI koncového bodu služby Azure Cosmos DB nesprávný nebo nedostupný.

    Caused by: java.net.UnknownHostException: rtcosmosdbsss.documents.azure.com: Name or service not known 
    
  • Tato chyba je uvedená v souboru agent.out v klientském virtuálním počítači i v účtu úložiště, pokud je klíč služby Azure Cosmos DB nesprávný.

    The input authorization token can't serve the request. The wrong key is being used….
    

Další kroky

  • Další informace o nástroji pro srovnávací testy najdete v příručce Začínáme.