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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- NoSQL için Azure Cosmos DB hesabı. NoSQL hesabı için bir API oluşturun.
- Hesap için uç nokta URI'sini ve birincil anahtarı not edin.
- Azure Depolama hesabı. Bir Azure Depolama hesabı oluşturun.
- Depolama hesabının bağlantı dizesi not edin. Vies Azure Depolama bağlantı dizesi.
- İkinci boş kaynak grubu. Bir kaynak grubu oluşturun.
- Azure Komut Satırı Arabirimi (CLI).
Azure Cosmos DB hesap kaynakları oluşturma
İlk olarak, NoSQL hesabı için mevcut API'de bir veritabanı ve kapsayıcı oluşturursunuz.
Azure portalında mevcut NoSQL hesabı API'nize gidin.
Kaynak menüsünde Veri Gezgini'ı seçin.
Veri Gezgini sayfasında, komut çubuğundaKi Yeni Kapsayıcı seçeneğini belirleyin.
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
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.
Bu bağlantıda bulunan bir Azure Resource Manager şablonu kullanarak karşılaştırma çerçevesini dağıtın.
Özel Dağıtım sayfasında aşağıdaki parametreler
Şablonu dağıtmak için Gözden geçir + oluştur'u ve ardından Oluştur'u seçin.
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.
Azure portalında mevcut Azure Depolama hesabınıza gidin.
ycsbbenchmarkingmetadata adlı bir depolama tablosuna gidin ve bölüm anahtarına
ycsb_sql
sahip varlığı bulun.JobStatus
Tablo varlığının alanını gözlemleyin. Başlangıçta işin durumudurStarted
ve özelliğindeJobStartTime
bir zaman damgası içerir ancak özelliği içermezJobFinishTime
.İşin durumu
Finished
ve özelliğine bir zaman damgası içereneJobFinishTime
kadar bekleyin.İpucu
İşin tamamlanması yaklaşık 20-30 dakika sürebilir.
ycsbbenchmarking-* ön ekiyle aynı hesaptaki depolama kapsayıcısına gidin. Aracın çıkış ve tanılama bloblarını inceleyin.
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.
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.
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.
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….