Condividi tramite


Procedure consigliate per l'integrazione

Servizi di Azure DevOps

Gli strumenti e le integrazioni tra i servizi migliorano l'efficienza per Azure DevOps Services. Se non si è attenti, gli strumenti automatizzati possono uscire dal controllo ed eseguire una frequenza elevata di richieste. Le richieste possono portare Azure DevOps a imporre limiti di frequenza alla tua organizzazione. Per ridurre il rischio di raggiungere i limiti di frequenza, seguire queste procedure consigliate quando si usano le API REST per l'integrazione con Azure DevOps.

Eseguire il push solo di elementi di lavoro interattivi

Spingere solo gli elementi azionabili in Azure DevOps che il team prevede di affrontare o trattare in futuro. Tenere gli elementi di lavoro fuori da Azure DevOps fino a quando necessario. Ad esempio, non tentare di archiviare i dati di telemetria in Azure DevOps.

Gestire un archivio dati personalizzato

Non aggiungere elementi di lavoro in Azure DevOps per poterli usare tutti in un'unica posizione. Azure DevOps Services non è progettato come servizio di archiviazione dati. Gestire un archivio dati personalizzato.

Raggruppare le modifiche

L'esecuzione di singole operazioni è lenta e costosa, che è la causa principale di problemi di prestazioni e limitazione della frequenza. Raggruppare le modifiche in una singola chiamata. Per altre informazioni, vedere la documentazione batch e il codice di esempio.

Limitare le revisioni

Molte revisioni in un singolo elemento di lavoro creano bloat e causano problemi di prestazioni. È consigliabile eseguire le attività seguenti:

  • Riduci gli aggiornamenti raggruppando le modifiche ai campi. Non aggiornare un solo campo alla volta.
  • Se sono presenti modifiche a più elementi di lavoro, raggruppare tali modifiche in un'unica azione.
  • Mantenere minimo il numero di revisioni per evitare limiti di revisione.

Annotazioni

Un limite di revisione dell'elemento di lavoro pari a 10.000 è attivo per gli aggiornamenti eseguiti tramite l'API REST. Questo limite limita gli aggiornamenti dall'API REST, ma gli aggiornamenti dal portale Web non sono interessati.

Ottimizzare le interrogazioni

Ottimizzare le query per restituire un numero modesto di risultati. Condizioni e filtri complessi possono portare a query che durano a lungo. Mantenere il tempo di esecuzione della query inferiore a 30 secondi per evitare errori di soglia.

Suggerimenti per incrementare le prestazioni delle query

  • Inserire una clausola di limitazione della data o dell'intervallo nella parte superiore di una query quando possibile.
  • Ridurre il numero di clausole che usano l'operatore Ever .
  • Ridurre il numero di clausole che usano l'operatore Contains , ad eccezione di Tags.
    • Usare l'operatore Contains Words quando disponibile.
    • Non usare l'operatore Contains su campi di testo lunghi, perché è costoso.
  • Evitare gli operatori <> e Not quando possibile.
  • Evitare di usare l'operatore In Group per gruppi di grandi dimensioni.
  • Ridurre al minimo il numero di Or operatori e assicurarsi di avere ancora un ambito di primo livello prima di usarli.
  • Evitare di usare una OR clausola tra un In Group operatore e i percorsi di Area o Iterazione.
  • Ridurre il numero di clausole complessive per raggiungere l'obiettivo, quando possibile.
  • Evitare l'ordinamento in base a qualsiasi campo diverso da quello principale, ad esempio ID, quando possibile.
  • Usare un campo personalizzato nei filtri se si desidera ordinare in un campo personalizzato.
  • Specificare un progetto, se possibile. In caso contrario, la query viene limitata al contesto dell'intera raccolta e potrebbe richiedere molto più tempo del necessario. Deselezionare Query tra progetti nell'angolo superiore destro dell'editor di query.

Eseguire query tra progetti

  • Specificare il progetto che si sta cercando se la query richiede la ricerca tra progetti.
  • Usare tag anziché parole chiave quando possibile, a meno che non si stia cercando testo parziale di una stringa.

Gestire gli errori normalmente

Gli aggiornamenti e le query hanno esito negativo quando i limiti delle risorse o la frequenza di utilizzo superano la soglia limite. Ad esempio, una query che viene eseguita più di 30 secondi restituisce l'errore seguente:

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

Quando si usano le API REST, assicurarsi di progettare il codice per gestire gli errori in modo appropriato.

Limitare il più possibile il numero di collegamenti per ogni elemento di lavoro per evitare l'applicazione dei limiti dei collegamenti.

Importante

Microsoft prevede di applicare presto i limiti di revisione e collegamento degli elementi di lavoro. Questi limiti vengono determinati dal monitoraggio delle prestazioni e dal feedback dei clienti.

Non usare query per la creazione di report

L'uso di query e chiamate individuali get work item è il modo principale per fare in modo che i limiti di velocità siano applicati alla tua organizzazione. Non eseguire query per restituire elenchi di elementi di lavoro di grandi dimensioni. Usare invece i collegamenti degli elementi di lavoro per la creazione di report e le API REST delle revisioni degli elementi di lavoro .

Per altre informazioni, vedere l'esempio C# in GitHub.