모범 통합 사례

Azure DevOps Services

서비스 간의 도구와 통합은 Azure DevOps Services의 효율성을 향상시킵니다. 주의하지 않으면 자동화된 도구가 높은 요청 속도의 실행을 제어할 수 없습니다. 요청으로 인해 Azure DevOps는 조직에 속도 제한을 적용 합니다 . 속도 제한에 도달할 위험을 줄이려면 REST API를 사용하여 Azure DevOps와 통합할 때 이러한 모범 사례를 따르세요.

실행 가능한 작업 항목만 푸시

팀이 나중에 참여하거나 처리할 계획인 Azure DevOps에 실행 가능한 항목만 푸시합니다. 필요할 때까지 Azure DevOps에서 작업 항목을 유지합니다. 예를 들어 Azure DevOps에 원격 분석 데이터를 저장하려고 시도하지 마세요.

사용자 고유의 데이터 저장소 유지 관리

모든 항목을 한 곳에 배치하기 위해 Azure DevOps에 작업 항목을 추가하지 마세요. Azure DevOps Services는 데이터 스토리지 서비스로 설계되지 않았습니다. 사용자 고유의 데이터 저장소를 유지 관리합니다.

변경 내용 일괄 처리

단일 작업을 수행하는 것은 느리고 비용이 많이 들며, 이는 성능 문제 및 속도 제한의 주요 원인입니다. 변경 내용을 단일 호출로 일괄 처리합니다. 자세한 내용은 일괄 처리 설명서 및 샘플 코드를 참조하세요.

수정 버전 제한

단일 작업 항목에 대한 많은 수정 내용으로 인해 bloat이 생성되고 성능 문제가 발생합니다. 다음 작업을 수행하는 것이 좋습니다.

  • 필드 변경 내용을 일괄 처리하여 업데이트를 줄입니다. 한 번에 하나의 필드만 업데이트하지 마세요.
  • 여러 작업 항목을 변경한 경우 이러한 변경 내용을 단일 작업으로 일괄 처리합니다.
  • 수정 제한을 방지하기 위해 수정 버전 수를 최소한으로 유지합니다.

참고 항목

REST API를 통한 업데이트에는 10,000의 작업 항목 수정 제한이 적용됩니다. 이 제한은 REST API의 업데이트를 제한하지만 웹 포털의 업데이트는 영향을 받지 않습니다.

쿼리 최적화

적당한 수의 결과를 반환하도록 쿼리를 최적화합니다. 복잡한 조건 및 필터는 장기 실행 쿼리로 이어질 수 있습니다. 임계값 오류를 방지하려면 쿼리 실행 시간을 30초 미만으로 유지합니다.

쿼리 성능 팁

  • 가능하면 쿼리의 맨 위에 날짜 또는 범위 제한 절을 배치합니다.
  • Ever 연산자를 사용하는 절 수를 줄입니다.
  • 태그를 제외하고 Contains 연산자를 사용하는 절 수를 줄입니다.
    • 사용 가능한 경우 Contains Words 연산자를 사용합니다.
    • 긴 텍스트 필드에는 Contains 연산자를 사용하지 마세요. 비용이 많이 들기 때문에 사용하지 마세요.
  • 가능하면 연산자가 아닌 '<>'을 피합니다.
  • 큰 그룹에는 In Group 연산자를 사용하지 마세요.
  • Or 연산자 수를 최소화하고 사용하기 전에 최상위 범위가 계속 있는지 확인합니다.
  • In Group 연산자와 영역 또는 반복 경로 간에 OR 절을 사용하지 마세요.
  • 가능한 경우 목표를 달성하기 위해 전체 절 수를 줄입니다.
  • 가능하면 ID와 같은 핵심 필드 이외의 항목에 대해 정렬하지 마세요.
  • 사용자 지정 필드를 정렬하려면 필터에서 사용자 지정 필드를 사용합니다.
  • 가능하면 프로젝트를 지정합니다. 그렇지 않으면 쿼리의 범위가 전체 컬렉션으로 지정되고 필요한 것보다 훨씬 더 오래 걸릴 수 있습니다. 쿼리 편집기의 "오른쪽 위 모서리에 있는 프로젝트 간 쿼리"를 검사 않습니다.

여러 프로젝트 쿼리

  • 쿼리에 프로젝트 간 검색이 필요한 경우 원하는 프로젝트를 지정합니다.
  • 문자열의 부분 텍스트를 검색하지 않는 한 가능한 경우 키워드(keyword) 대신 태그를 사용합니다.

오류를 정상적으로 처리

리소스 제한 또는 사용 빈도가 제한 임계값을 초과하면 업데이트 및 쿼리가 실패합니다. 예를 들어 30초 이상 실행되는 쿼리는 다음 오류를 반환합니다.

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

REST API를 사용하는 경우 오류를 적절하게 처리하도록 코드를 디자인해야 합니다.

링크 제한을 적용하지 않도록 작업 항목당 링크 수를 가능한 한 제한합니다.

Important

근래에 작업 항목 수정 및 링크 제한을 적용할 계획입니다. 이러한 제한은 성능 모니터링 및 고객 피드백에 따라 결정됩니다.

보고에 쿼리 사용 안 함

쿼리 및 개별 가져오기 작업 항목 호출을 사용하는 것이 조직에 적용되는 속도 제한을 가져오는 가장 좋은 방법입니다. 쿼리를 실행하여 작업 항목의 큰 목록을 반환하지 마세요. 대신 보고 작업 항목 링크작업 항목 수정 REST API를 사용합니다.

자세한 내용은 GitHub의 C# 샘플을 참조하세요.