Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DevOps Services
Les outils et les intégrations entre les services améliorent l’efficacité d’Azure DevOps Services. Si vous n’êtes pas prudent, les outils automatisés peuvent sortir du contrôle et exécuter un taux élevé de requêtes. Les demandes peuvent entraîner l’application de limites de débit à votre organisation par Azure DevOps. Pour réduire vos risques d’atteinte aux limites de taux, suivez ces bonnes pratiques lorsque vous utilisez les API REST pour l’intégrer à Azure DevOps.
Envoyer uniquement des éléments de travail exécutables
Envoyez uniquement des éléments traitables dans Azure DevOps sur lesquels votre équipe prévoit de travailler ou d'intervenir à l'avenir. Conservez les éléments de travail hors d’Azure DevOps jusqu’à ce que cela soit nécessaire. Par exemple, ne tentez pas de stocker les données de télémétrie dans Azure DevOps.
Gérer votre propre magasin de données
N’ajoutez pas d’éléments de travail dans Azure DevOps pour les avoir tous dans un seul endroit. Azure DevOps Services n’est pas conçu comme un service de stockage de données. Conservez votre propre magasin de données.
Regroupez vos modifications en lots
L’exécution d’opérations uniques est lente et coûteuse, ce qui est la cause principale des problèmes de performances et de la limitation du débit. Regroupez vos modifications en un seul appel. Pour plus d’informations, consultez notre documentation par lots et notre exemple de code.
Limiter vos révisions
De nombreuses révisions sur un seul élément de travail créent un encombrement et entraînent des problèmes de performance. Nous vous recommandons d’effectuer les tâches suivantes :
- Réduisez vos mises à jour en regroupant vos modifications de champ. Ne mettez pas à jour un seul champ à la fois.
- Si vous avez des modifications apportées à plusieurs éléments de travail, effectuez un lot de ces modifications en une seule action.
- Conservez au minimum le nombre de révisions pour éviter les limites de révision.
Remarque
Une limite de révision d’élément de travail de 10 000 est appliquée aux mises à jour effectuées via l’API REST. Cette limite limite limite les mises à jour de l’API REST, mais les mises à jour du portail web ne sont pas affectées.
Optimiser des requêtes
Optimisez vos requêtes pour retourner un nombre modeste de résultats. Des conditions et des filtres complexes peuvent entraîner des requêtes longues. Maintenez le temps d’exécution de votre requête sous 30 secondes pour éviter de dépasser les seuils.
Conseils sur les performances des requêtes
- Placez une clause de limitation de date ou de plage en haut d’une requête dans la mesure du possible.
- Réduisez le nombre de clauses qui utilisent l’opérateur
Ever. - Réduisez le nombre de clauses qui utilisent l’opérateur
Contains, à l’exception des balises.- Utilisez l’opérateur
Contains Wordslorsqu’il est disponible. - N’utilisez pas l’opérateur
Containssur les champs de texte longs, car il est coûteux.
- Utilisez l’opérateur
- Évitez les opérateurs
<>etNotlorsque cela est possible. - Évitez d’utiliser l’opérateur
In Grouppour les grands groupes. - Réduisez le nombre d’opérateurs
Oret assurez-vous que vous disposez toujours d’une portée de niveau supérieur avant de les utiliser. - Évitez d’utiliser une
ORclause entre unIn Groupopérateur et des chemins de zone ou d’itération. - Réduisez le nombre de clauses globales pour atteindre votre objectif lorsque cela est possible.
- Évitez de trier sur tout autre que les champs principaux, tels que
ID, dans la mesure du possible. - Utilisez un champ personnalisé dans vos filtres si vous souhaitez trier sur un champ personnalisé.
- Spécifiez un projet si possible. Sinon, la requête est étendue à l’ensemble de la collection et peut prendre beaucoup plus de temps que nécessaire. Désactivez la case Requête dans les projets en haut à droite de l’éditeur de requête.
Interroger à travers des projets
- Spécifiez le projet que vous recherchez si la requête nécessite une recherche dans plusieurs projets.
- Utilisez des balises plutôt que des mots clés si possible, sauf si vous recherchez du texte partiel d’une chaîne.
Gérer correctement les défaillances
Les mises à jour et les requêtes échouent lorsque les limites de ressources ou la fréquence d’utilisation dépassent le seuil de limite. Par exemple, une requête qui s’exécute plus de 30 secondes retourne l’erreur suivante :
VS402335: The timeout period (30 seconds) elapsed prior to completion of the query or the server is not responding.
Lorsque vous consommez les API REST, veillez à concevoir votre code pour gérer les défaillances de manière appropriée.
Limiter vos liens
Limitez le nombre de liens par élément de travail autant que possible, afin d’éviter l’application des limites de liens.
Important
Nous prévoyons d'appliquer bientôt des limites aux révisions et aux liaisons des éléments de travail. Ces limites sont déterminées par la supervision des performances et les commentaires des clients.
N’utilisez pas de requêtes pour la création de rapports
L’utilisation de requêtes et d’appels d’éléments de travail individuels est la meilleure façon de faire appliquer des limites de débit à votre organisation. N’exécutez pas de requêtes pour retourner de grandes listes d’éléments de travail. Utilisez les API REST liens d’élément de travail et révisions d’éléments de travail à la place.
Pour plus d’informations, consultez notre exemple C# sur GitHub.