En iyi tümleştirme uygulamaları

Azure DevOps Services

Hizmetler arasındaki araçlar ve tümleştirmeler, Azure DevOps Services için verimlilikleri artırır. Dikkatli değilseniz, otomatik araçlar yüksek oranda istek yürütürken kontrolden çıkar. İstekler, Azure DevOps'un kuruluşunuz için hız sınırlarını zorlamasına neden olur. Hız sınırlarına varma riskinizi azaltmaya yardımcı olmak için REST API'lerini kullanarak Azure DevOps ile tümleştirme yaparken bu en iyi yöntemleri izleyin.

Yalnızca eyleme dönüştürülebilir iş öğelerini gönderme

Azure DevOps'a yalnızca ekibinizin gelecekte etkileşime geçmeyi veya ilgilenmeyi planladığı eyleme dönüştürülebilir öğeleri gönderin. Gerektiğinde iş öğelerini Azure DevOps'un dışında tutun. Örneğin, telemetri verilerini Azure DevOps'ta depolamayı denemeyin.

Kendi veri deponuzu koruma

Tümünü tek bir yerde bulundurmak için iş öğelerini Azure DevOps'a eklemeyin. Azure DevOps Services bir veri depolama hizmeti olarak tasarlanmamıştır. Kendi veri deponuzu koruyun.

Değişikliklerinizi toplu iş

Tek işlem yapmak yavaş ve pahalıdır; bu da performans sorunlarının ve hız sınırlamanın en önemli nedenidir. Değişikliklerinizi tek bir çağrıda toplu iş yapın. Daha fazla bilgi için toplu iş belgelerimize ve örnek kodumuza bakın.

Düzeltmelerinizi sınırlama

Tek bir iş öğesindeki birçok düzeltme, şişkinlik oluşturur ve performans sorunlarına neden olur. Aşağıdaki görevleri gerçekleştirmenizi öneririz:

  • Alan değişikliklerinizi toplu olarak işleyerek güncelleştirmelerinizi azaltın. Aynı anda yalnızca bir alanı güncelleştirmeyin.
  • Birden çok iş öğesinde değişiklikleriniz varsa, bu değişiklikleri tek bir eylemde toplu işleyin.
  • Düzeltme sınırlarını önlemek için düzeltme sayısını en az düzeyde tutun.

Dekont

REST API aracılığıyla yapılan güncelleştirmeler için iş öğesi düzeltme sınırı 10.000'dir. Bu sınır REST API'den gelen güncelleştirmeleri kısıtlar, ancak web portalındaki güncelleştirmeler etkilenmez.

Sorguları iyileştirme

Mütevazı sayıda sonuç döndürmek için sorgularınızı iyileştirin. Karmaşık koşullar ve filtreler uzun süre çalışan sorgulara yol açabilir. Eşik hatalarını önlemek için sorgularınızın yürütme süresini 30 saniyenin altında tutun.

Sorgu performansı ipuçları

  • Mümkün olduğunda sorgunun üst kısmına bir tarih veya aralık sınırlama yan tümcesi yerleştirin.
  • Ever işlecini kullanan yan tümcelerin sayısını azaltın.
  • Etiketler dışında contains işlecini kullanan yan tümcelerin sayısını azaltın.
    • Kullanılabilir olduğunda Sözcük İçerir işlecini kullanın.
    • Pahalı olduğundan contains işlecini uzun metin alanlarında kullanmayın.
  • Mümkün olduğunda işleçlerden değil '<>' işleçlerinden kaçının.
  • Büyük gruplar için Grupta işlecini kullanmaktan kaçının.
  • Or işleçlerinin sayısını en aza indirin ve kullanmadan önce hala üst düzey kapsam belirlemeye sahip olduğunuzdan emin olun.
  • In Group işleci ile Alan veya Yineleme Yolları arasında OR yan tümcesi kullanmaktan kaçının.
  • Mümkün olduğunda hedefinize ulaşmak için genel yan tümcelerin sayısını azaltın.
  • Mümkün olduğunda, kimlik gibi temel alanlar dışında herhangi bir şeyi sıralamaktan kaçının.
  • Özel bir alana göre sıralamak istiyorsanız, filtrelerinizde özel bir alan kullanın.
  • Mümkünse bir proje belirtin. Aksi takdirde sorgunun kapsamı koleksiyonun tamamına göre belirlenmiştir ve gerektiğinden çok daha uzun sürebilir. Sorgu düzenleyicisinin "Sağ üst köşesindeki projeler arasında sorgu" seçeneğinin işaretini kaldırın.

Projeler arasında sorgu

  • Sorgu projeler arasında arama gerektiriyorsa hangi projeyi aradığınızı belirtin.
  • Bir dizenin kısmi metnini aramadığınız sürece mümkün olduğunda anahtar sözcükler yerine etiketleri kullanın.

Hataları düzgün bir şekilde işleme

Kaynak sınırları veya kullanım sıklığı sınır eşiğini aştığında Güncelleştirmeler ve sorgular başarısız olur. Örneğin, 30 saniyeden uzun süre çalışan bir sorgu aşağıdaki hatayı döndürür:

VS402335: The timeout period (30 seconds) elapsed prior to completion of the query or the server is not responding.

REST API'lerini kullanırken, kodunuzu hataları uygun şekilde işleyecek şekilde tasarladığınızdan emin olun.

Bağlantı sınırlarının uygulanmasını önlemek için iş öğesi başına bağlantı sayısını mümkün olduğunca sınırlayın.

Önemli

Yakın gelecekte iş öğesi düzeltme ve bağlantı sınırlarını zorunlu kılmayı planlıyoruz. Bu sınırlar performans izleme ve müşteri geri bildirimleri tarafından belirlenir.

Raporlama için sorgu kullanmayın

Sorguları kullanmak ve tek tek iş öğesi çağrılarını almak, kuruluşunuzda uygulanan hız sınırlarını elde etmenin en iyi yoludur. İş öğelerinin büyük listelerini döndürmek için sorgu yürütmeyin. Bunun yerine raporlama iş öğesi bağlantılarını ve iş öğesi düzeltmeleri REST API'lerini kullanın.

Daha fazla bilgi için GitHub'da C# örneğimize bakın.