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

V současné chvíli existuje více možností, než kdy jindy, ohledně typu databáze, kterou můžete použít s datovými úlohami. 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 službu Azure Database zjednodušuje proces měření výkonu pomocí oblíbených opensourcových nástrojů pro srovnávací testy s recepty s minimálním třením, 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 architekturu srovnávacího testu k implementaci úlohy čtení, abyste se s touto architekturou seznámili.

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 pro NoSQL.

  1. V Azure Portal přejděte ke stávajícímu účtu rozhraní API pro NoSQL.

  2. V nabídce prostředků vyberte Data Explorer.

    Snímek obrazovky se zvýrazněnou možností Data Explorer v nabídce prostředků

  3. Na stránce Data Explorer vyberte na panelu příkazů možnost Nový kontejner.

    Snímek obrazovky s možností Nový kontejner na panelu příkazů Data Explorer

  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í
    Propustnost databáze 400
    ID kontejneru usertable
    Klíč oddílu /id

    Snímek obrazovky s dialogovým oknem Nový kontejner na stránce Data Explorer

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

Teď pomocí šablony Azure Resource Manager nasadíte architekturu srovnávacího testu do Azure s výchozím receptem pro čtení.

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

    Tlačítko Nasadit do Azure

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

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

  3. Pokud chcete šablonu nasadit, vyberte Zkontrolovat a vytvořit a pak Vytvořit .

  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 ukládá pomocí tabulky úložiště a výsledky se agregují do objektu blob úložiště ve formátu CSV.

  1. V Azure Portal přejděte ke svému stávají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. Prohlédněte si JobStatus pole entity tabulky. Zpočátku je Started stav úlohy a zahrnuje časové razítko ve JobStartTime vlastnosti, ale ne JobFinishTime vlastnost .

  4. Počkejte, až bude úloha ve stavu Finished a zahrne do vlastnosti časové razítko JobFinishTime .

    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ýstupní a diagnostické objekty blob pro nástroj.

    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 Databases obsahuje recepty pro zapouzdření definic úloh, které se předávají do základního srovnávacího nástroje pro prostředí s jedním kliknutím. 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 srovnávacího nástroje. Recepty byly testovány a ověřeny pro konzistentní výsledky.

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

  • Latence čtení

    Diagram typické latence čtení v průměru mezi 1 milisekundou a 2 milisekundami

  • 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 tento nástroj jsou obvykle k dispozici v kontejneru v rámci účtu služby Azure Storage.

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

  • Pokud protokoly nejsou v účtu úložiště dostupné, je tento problém obvykle způsobený nesprávným nebo chybějícím připojovacím řetězcem ú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 na klientském virtuálním počítači i 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 na 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