Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuz, NoSQL için Azure Cosmos DB için JavaScript SDK'sının en son sürümü kullanılarak oluşturulan çözümlere yönelik en iyi yöntemleri içerir. Burada yer alan en iyi yöntemler gecikme süresini iyileştirmeye, kullanılabilirliği iyileştirmeye ve çözümleriniz için genel performansı artırmaya yardımcı olur.
Hesap yapılandırması
- Gecikme süresini azaltmak için mümkün olduğunda uygulamanızı Azure Cosmos DB hesabınızla aynı Azure bölgesinde çalıştırdığınızdan emin olun. En iyi kullanılabilirlik için 2-4 bölgeyi etkinleştirin ve hesaplarınızı birden çok bölgede çoğaltın. Üretim iş yükleri için hizmet tarafından yönetilen yük devretmeyi etkinleştirin. Bu yapılandırmanın olmaması halinde, bölge bağlantısının olmaması nedeniyle el ile yük devretme başarısız olduğundan, hesap yazma bölgesi kesintisinin tüm süresi boyunca yazma kullanılabilirliği kaybıyla karşılaşır. JavaScript SDK'sını kullanarak birden çok bölge ekleme hakkında daha fazla bilgi için genel dağıtım öğreticisine bakın.
SDK kullanımı
- En iyi performans için Azure Cosmos DB SDK'sının en son sürümünü her zaman kullanabilirsiniz.
- Daha iyi performans için uygulamanızın ömrü boyunca tek bir örneği
CosmosClientkullanın. - ConnectionPolicy kullanarak SDK'da preferredRegions değerini ayarlayın. Yük devretmeler sırasında yazma işlemleri geçerli yazma bölgesine, tüm okumalar ise tercih ettiğiniz bölgeler listesindeki ilk bölgeye gönderilir. Bölgesel yük devretme mekaniği hakkında daha fazla bilgi için bkz. Kullanılabilirlik sorunlarını giderme.
- Geçici hata, kısa süre içinde kendisini çözen temel bir nedeni olan bir hatadır. Veritabanınıza bağlanan uygulamalar bu geçici hataları bekleyecek şekilde oluşturulmalıdır. Bunları işlemek için, bunları kullanıcılara uygulama hatası olarak eklemek yerine kodunuzda yeniden deneme mantığını uygulayın. SDK'nın, okuma veya sorgu işlemleri gibi yeniden denenebilir isteklerde bu geçici hataları işlemek için yerleşik mantığı vardır. SDK, yazma işlemleri idempotent olmadığı için geçici yazma hatalarında yeniden deneme yapamaz. SDK, kullanıcıların hız sınırlamaları için yeniden deneme mantığını yapılandırmasına olanak tanır. Hangi hataların yeniden denendiği hakkında ayrıntılı bilgi için burayı ziyaret edin.
- Ek tanılama bilgilerini yakalamak ve gecikme sorunlarını gidermek için SDK günlüğünü kullanın.
Veri tasarımı
- Belirtilen işlemin istek ücreti doğrudan belgenin boyutuyla ilişkilidir. Büyük belgelerdeki işlemler daha küçük belgelerdeki işlemlerden daha pahalı olduğundan, belgelerinizin boyutunu azaltmanızı öneririz.
- Bazı karakterler kısıtlanmıştır ve bazı tanımlayıcılarda kullanılamaz: '/', '\', '?', '#'. Genel öneri, beklenmeyen davranışlardan kaçınmak için tanımlayıcılarda veritabanı adı, koleksiyon adı, öğe kimliği veya bölüm anahtarı gibi özel karakterler kullanılmamasıdır.
- Azure Cosmos DB dizin oluşturma ilkesi, dizin oluşturma yolları
includedPathsveexcludedPathskullanarak hangi belge yollarının dizine eklenip hangilerinin hariç tutulacağını belirtmenizi sağlar. Daha hızlı yazma işlemleri için kullanılmayan yolları dizinlemenin dışında tuttuğunuzdan emin olun. Daha fazla bilgi için bkz. SDK örneğini kullanarak dizin oluşturma.
Konak özellikleri
- İstemci makinenizde kaynak olmaması nedeniyle bağlantı/kullanılabilirlik sorunlarıyla karşılaşabilirsiniz. Azure Cosmos DB istemcisini çalıştıran düğümlerde CPU kullanım oranını izleyin, ve eğer kullanım yüksekse, ölçeği artırın veya genişletin. Ayrıca , küme modülünü kullanarak iş yükünüzü çalıştırmayı göz önünde bulundurun.
- Üretim iş yüklerinin çoğu için mümkün olduğunda en az 4 çekirdekli ve 8 GB bellekli VM'lerin kullanılmasını kesinlikle öneririz.
- Uygulamanızı çalıştırmak için bir sanal makine kullanıyorsanız, yüksek trafik nedeniyle oluşan performans sorunlarına yardımcı olmak ve gecikme süresini veya CPU değişimlerini azaltmak için VM'nizde Hızlandırılmış Ağ'ı etkinleştirin. Maksimum CPU kullanımının %70'in altında olduğu daha yüksek bir uç Sanal Makine kullanmayı da düşünebilirsiniz.
- Varsayılan olarak, sorgu sonuçları 100 öğe veya 4 MB'lık öbekler halinde döndürülür(hangisi önce sınıra isabet edilirse). Sorgu 100'den fazla öğe döndürüyorsa, sayfa boyutunu artırarak gereken gidiş dönüş sayısını azaltın. Sayfa boyutu arttıkça bellek tüketimi artar.