Aracılığıyla paylaş


Karşılaştırma çerçevesiyle NoSQL için Azure Cosmos DB performansını ölçme

Veri iş yükünüzle kullanılacak veritabanı türüyle ilgili şu anda her zamankinden daha fazla seçenek vardır. Veritabanı seçmenin önemli faktörlerinden biri, veritabanının veya hizmetin performansıdır, ancak karşılaştırma performansı hantal ve hataya açık olabilir. Azure Veritabanları için kıyaslama çerçevesi, yaygın en iyi yöntemleri uygulayan düşük sürtünmeli tariflerle popüler açık kaynak karşılaştırma araçlarıyla performansı ölçme sürecini basitleştirir. NoSQL için Azure Cosmos DB'de çerçeve Java SDK'sı için en iyi yöntemleri uygular ve açık kaynak YCSB aracını kullanır. Bu kılavuzda, bu karşılaştırma çerçevesini kullanarak çerçeveyi tanımaya yönelik bir okuma iş yükü uygulayacaksınız.

Önkoşullar

Azure Cosmos DB hesap kaynakları oluşturma

İlk olarak, NoSQL hesabı için mevcut API'de bir veritabanı ve kapsayıcı oluşturursunuz.

  1. Azure portalında mevcut NoSQL hesabı API'nize gidin.

  2. Kaynak menüsünde Veri Gezgini'ı seçin.

    Kaynak menüsünde vurgulanan Veri Gezgini seçeneğinin ekran görüntüsü.

  3. Veri Gezgini sayfasında, komut çubuğundaKi Yeni Kapsayıcı seçeneğini belirleyin.

    Veri Gezgini komut çubuğundaki Yeni Kapsayıcı seçeneğinin ekran görüntüsü.

  4. Yeni Kapsayıcı iletişim kutusunda aşağıdaki ayarlarla yeni bir kapsayıcı oluşturun:

    Ayar Value
    Veritabanı kimliği ycsb
    Veritabanı aktarım hızı türü El ile
    Veritabanı aktarım hızı miktarı 400
    Kapsayıcı kimliği usertable
    Bölüm anahtarı /id

    Veri Gezgini sayfasındaki Yeni Kapsayıcı iletişim kutusunun ekran görüntüsü.

Karşılaştırma çerçevesini Azure'a dağıtma

Şimdi bir Azure Resource Manager şablonu kullanarak karşılaştırma çerçevesini varsayılan okuma tarifiyle Azure'a dağıtacaksınız.

  1. Bu bağlantıda bulunan bir Azure Resource Manager şablonu kullanarak karşılaştırma çerçevesini dağıtın.

    Azure'a dağıt düğmesi.

  2. Özel Dağıtım sayfasında aşağıdaki parametreler

    Parametre değerlerinin doldurulduğu Özel Dağıtım sayfasının ekran görüntüsü.

  3. Şablonu dağıtmak için Gözden geçir + oluştur'u ve ardından Oluştur'u seçin.

  4. Dağıtımın tamamlanmasını bekleyin.

    İpucu

    Dağıtımın tamamlanması 5-10 dakika sürebilir.

Karşılaştırma sonuçlarını görüntüleme

Şimdi karşılaştırma işinin durumunu denetlemek ve toplanan sonuçları görüntülemek için mevcut Azure Depolama hesabını kullanabilirsiniz. Durum bir depolama tablosu kullanılarak depolanır ve sonuçlar CSV biçimi kullanılarak bir depolama blobuna toplanır.

  1. Azure portalında mevcut Azure Depolama hesabınıza gidin.

  2. ycsbbenchmarkingmetadata adlı bir depolama tablosuna gidin ve bölüm anahtarına ycsb_sqlsahip varlığı bulun.

    Depolama hesabındaki ycsbbenchmarkingMetadata tablosunun ekran görüntüsü.

  3. JobStatus Tablo varlığının alanını gözlemleyin. Başlangıçta işin durumudur Started ve özelliğinde JobStartTime bir zaman damgası içerir ancak özelliği içermez JobFinishTime .

  4. İşin durumu Finished ve özelliğine bir zaman damgası içerene JobFinishTime kadar bekleyin.

    İpucu

    İşin tamamlanması yaklaşık 20-30 dakika sürebilir.

  5. ycsbbenchmarking-* ön ekiyle aynı hesaptaki depolama kapsayıcısına gidin. Aracın çıkış ve tanılama bloblarını inceleyin.

    Karşılaştırma aracındaki kapsayıcı ve çıkış bloblarının ekran görüntüsü.

  6. aggregation.csv blobunu açın ve içeriği gözlemleyin. Artık tüm karşılaştırma istemcilerinden toplanan sonuçları içeren bir CSV veri kümeniz olmalıdır.

    Toplama sonuçları blobunun içeriğinin ekran görüntüsü.

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

Tarifler

Azure Veritabanları için karşılaştırma çerçevesi, "1 tıklama" deneyimi için temel alınan karşılaştırma aracına geçirilen iş yükü tanımlarını kapsülleyen tarifler içerir. İş yükü tanımları, Azure Cosmos DB ekibi ve karşılaştırma aracının ekibi tarafından yayımlanan en iyi yöntemlere göre tasarlanmıştır. Tarifler test edildi ve tutarlı sonuçlar için doğrulandı.

GitHub deposundaki tüm okuma ve yazma tarifleri için aşağıdaki gecikme sürelerini görmeyi bekleyebilirsiniz.

  • Okuma gecikmesi

    Yaklaşık 1 milisaniye ile 2 milisaniye arasında ortalama tipik okuma gecikmesinin diyagramı.

  • Yazma gecikmesi

    Yaklaşık 4 milisaniyelik ortalama tipik yazma gecikmesinin diyagramı.

Genel sorunlar

Bu bölüm, karşılaştırma aracını çalıştırırken oluşabilecek yaygın hataları içerir. Aracın hata günlükleri genellikle Azure Depolama hesabındaki bir kapsayıcıda kullanılabilir.

Depolama hesabındaki kapsayıcı ve blobların ekran görüntüsü.

  • Günlükler depolama hesabında kullanılamıyorsa, bu sorun genellikle yanlış veya eksik bir depolama bağlantı dizesi kaynaklanır. Bu durumda, bu hata istemci sanal makinesinin /home/benchmarking klasöründeki agent.out dosyasında listelenir.

    Error while accessing storage account, exiting from this machine in agent.out on the VM
    
  • Bu hata, Azure Cosmos DB uç nokta URI'sinin yanlış olması veya ulaşılamaz olması durumunda hem istemci VM'sinde hem de depolama hesabında agent.out dosyasında listelenir.

    Caused by: java.net.UnknownHostException: rtcosmosdbsss.documents.azure.com: Name or service not known 
    
  • Azure Cosmos DB anahtarı yanlışsa, bu hata hem istemci VM'sinde hem de depolama hesabında agent.out dosyasında listelenir.

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

Sonraki adımlar

  • Başlarken kılavuzuyla karşılaştırma aracı hakkında daha fazla bilgi edinin.