Bagikan melalui


Praktik integrasi terbaik

Azure DevOps

Alat dan integrasi antar layanan meningkatkan efisiensi untuk Layanan Azure DevOps. Jika Anda tidak berhati-hati, alat otomatis dapat tidak terkendali menjalankan tingkat permintaan yang tinggi. Permintaan tersebut menyebabkan Azure DevOps memberlakukan batas tarif ke organisasi Anda. Untuk membantu mengurangi risiko mencapai batas tarif, ikuti praktik terbaik ini saat Anda menggunakan REST API untuk berintegrasi dengan Azure DevOps.

Mendorong hanya item kerja yang dapat ditindakkan

Hanya dorong item yang dapat ditindakkan ke Azure DevOps yang rencananya akan dilibatkan atau ditangani tim Anda di masa mendatang. Jauhkan item kerja dari Azure DevOps hingga diperlukan. Misalnya, jangan mencoba menyimpan data telemetri di Azure DevOps.

Pertahankan penyimpanan data Anda sendiri

Jangan tambahkan item kerja ke Azure DevOps demi memiliki semuanya di satu tempat. Layanan Azure DevOps tidak dirancang sebagai layanan penyimpanan data. Pertahankan penyimpanan data Anda sendiri.

Batch perubahan Anda

Melakukan operasi tunggal lambat dan mahal, yang merupakan penyebab utama untuk masalah performa dan pembatasan laju. Batch perubahan Anda menjadi satu panggilan. Untuk informasi selengkapnya, lihat dokumentasi batch dan kode sampel kami.

Membatasi revisi Anda

Banyak revisi pada satu item kerja membuat blob dan menyebabkan masalah performa. Sebaiknya lakukan tugas berikut:

  • Kurangi pembaruan Anda dengan membuat batch perubahan bidang Anda. Jangan perbarui hanya satu bidang pada satu waktu.
  • Jika Anda memiliki perubahan pada beberapa item kerja, batch perubahan tersebut menjadi satu tindakan.
  • Jaga jumlah revisi minimal untuk menghindari batas revisi.

Catatan

Batas revisi item kerja sebesar 10.000 berlaku untuk pembaruan yang dilakukan melalui REST API. Batas ini membatasi pembaruan dari REST API, tetapi, pembaruan dari portal web tidak terpengaruh.

Optimalkan kueri

Optimalkan kueri Anda untuk mengembalikan jumlah hasil yang sederhana. Kondisi dan filter yang kompleks dapat menyebabkan kueri yang berjalan lama. Pertahankan waktu eksekusi kueri Anda di bawah 30 detik untuk menghindari kegagalan ambang batas.

Tips performa kueri

  • Tempatkan klausa pembatasan tanggal atau rentang di dekat bagian atas kueri jika memungkinkan.
  • Kurangi jumlah klausul yang menggunakan operator Ever .
  • Kurangi jumlah klausa yang menggunakan operator Berisi , kecuali untuk Tag.
    • Gunakan operator Berisi Kata jika tersedia.
    • Jangan gunakan operator Berisi pada bidang teks panjang, karena mahal.
  • Hindari '<>' dan bukan operator jika memungkinkan.
  • Hindari menggunakan operator Dalam Grup untuk grup besar.
  • Minimalkan jumlah operator Atau dan pastikan Anda masih memiliki cakupan tingkat atas sebelum menggunakan.
  • Hindari menggunakan klausa OR antara operator Dalam Grup dan Area atau Jalur Iterasi.
  • Kurangi jumlah klausa keseluruhan untuk mencapai tujuan Anda jika memungkinkan.
  • Hindari mengurutkan apa pun selain bidang inti, seperti ID, jika memungkinkan.
  • Gunakan bidang kustom di filter Anda jika Anda ingin mengurutkan pada bidang kustom.
  • Tentukan proyek jika memungkinkan. Jika tidak, kueri akan terlingkup ke seluruh koleksi dan dapat memakan waktu lebih lama secara dramatis daripada yang diperlukan. Hapus centang "Kueri di seluruh proyek di sudut kanan atas" editor kueri.

Kueri di seluruh proyek

  • Tentukan proyek mana yang Anda cari jika kueri memerlukan pencarian di seluruh proyek.
  • Gunakan tag alih-alih kata kunci jika memungkinkan, kecuali Anda mencari teks parsial string.

Menangani kegagalan dengan anggun

Pembaruan dan kueri gagal saat batas sumber daya atau frekuensi pemanfaatan melewati ambang batas. Misalnya, kueri yang berjalan lebih dari 30 detik mengembalikan kesalahan berikut:

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

Saat Anda menggunakan REST API, pastikan Anda merancang kode untuk menangani kegagalan dengan tepat.

Batasi jumlah tautan per item kerja sebanyak mungkin, untuk menghindari pemberlakuan batas tautan.

Penting

Kami berencana untuk memberlakukan revisi item kerja dan batas tautan dalam waktu dekat. Batas ini ditentukan oleh pemantauan performa dan umpan balik pelanggan.

Jangan gunakan kueri untuk pelaporan

Menggunakan kueri dan panggilan item kerja get individual adalah cara teratas untuk mendapatkan batas tarif yang diberlakukan pada organisasi Anda. Jangan jalankan kueri untuk mengembalikan daftar besar item kerja. Gunakan tautan item kerja pelaporan dan item kerja revisi REST API sebagai gantinya.

Untuk informasi selengkapnya, lihat sampel C# kami di GitHub.