2016-09-06 13 views
2

내 조직에서 Visual Studio 2015의 '내 작업'탭을 가져온 TFS 2015 (웹 인터페이스의 '정보'페이지에 따라 14.102.25423.0)에 대한 업데이트를 최근에 적용했습니다. 채우기 위해 1 분이 소요됩니다. 나는 쿼리를 가지고 놀았고 그 탭의 '들어오는 요청'섹션의 인구로 문제를 좁힐 수있었습니다. 내부적으로 다음 WIQL 쿼리를 실행하고 있습니다.TFS 2015 업데이트 후 들어오는 요청이

SELECT [System.Id], [System.Links.LinkType], [System.Title], [System.State], [System.Reason], [System.AssignedTo] 
FROM WorkItemLinks 
WHERE (Source.[System.TeamProject] = @project and Source.[System.WorkItemType] in group 'Microsoft.CodeReviewRequestCategory' and Source.[System.AssignedTo] <> @me and Source.[Microsoft.VSTS.Common.StateCode] <> '1') 
    and ([System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward') 
    and (Target.[System.WorkItemType] in group 'Microsoft.CodeReviewResponseCategory' and (Target.[System.AssignedTo] = @me or Target.[Microsoft.VSTS.Common.ReviewedBy] = @me) and Target.[Microsoft.VSTS.Common.StateCode] <> '2') 
ORDER BY [System.CreatedDate] desc, [System.Id] mode(MustContain) 
  • 내가 https://www.visualstudio.com/en-us/docs/integrate/api/wit/wiql에 설명 된 TFS의 REST API (POST 요청의 본문에 위의 WIQL 쿼리를 전달)를 사용하여 속도 저하를 재현했습니다.
  • 다음 코드 검토 선택기 느린이 채울 수 있습니다 내 코드 & 요청, 들어오는 요청을보세요.
  • 다음 코드 검토 선택기 빠른이 채울 수 있습니다 내 코드, 최근 완료, 최근에 닫은을보세요.
  • 문제는 내 사용자뿐만 아니라 모든 사용자에게 발생합니다.
  • 팀에서 아무도 몇 번에 몇 개의 코드 리뷰를 열어 본 사람이 없습니다.
  • 문제가 실질적으로 밤새 일어나기 시작했습니다. 즉, 금요일에 쿼리가 1 초 내에 완료되었거나, 월요일에 쿼리가 1 분에 끝났습니다.
  • TFS 환경은 Windows Server 2012 (비 R2)에서 호스팅됩니다.
  • TFS 환경은 SQL Server 2012, SP3 (11.0.6020)에 의해 뒷받침됩니다.
  • Microsoft 지침에 따라 TFS2015.3으로 업그레이드가 완료되었으며 문제가 발생하지 않았으며 로그에 아무 것도 잘못되었음을 알리는 메시지가 없습니다.

성능 저하 문제를 더욱 줄이기 위해 느려지는 원인과 원인을 확인하는 사람이 있습니까? Visual Studio에서

+0

실행중인 SQL Server의 버전은 무엇입니까? 이전에 SQL이 실행되는 compat 수준에 따라 TFS에서 Identity 필드와 관련된 몇 가지 알려진 문제가있었습니다. – nschonni

+0

@nschonni, 우리는 SQL Server 2012, SP3을 실행하고 있습니다. 내가 모호한 Identity 필드 문제를 일으키지 않을만큼 충분히 현대적이라고 생각합니까? – ScheuNZ

+0

Funnily enough 2012는 충분히 오래되어서 내가 https://support.microsoft.com/en-us/kb/2953452를 생각하고있는 버그에 부딪히지 않아야합니다. 실제로 문제가 발생하면 2014가 실행됩니다. – nschonni

답변

0

여기 내 자신의 질문에 답변 ... 내 조직이 Microsoft를 통해이 문제를 끝내고 결과적으로 잘못된 쿼리 계획 생성을 유발하는 오래된 통계가있는 문제가 있음을 발견했습니다. 코드 검토 세부 정보를 검색하는 데 사용 된 쿼리는 실행할 때마다 60 초 이상 걸렸습니다.

동일한 문제가 발생하는 경우 아래 쿼리를 사용하면 성능이 크게 달라질 수 있습니다. https://connect.microsoft.com/VisualStudio/Feedback/Details/3107261 : 참고로

use <collection db name>; 
UPDATE STATISTICS [dbo].[tbl_WorkItemCoreLatest] WITH FULLSCAN 

use <collection db name>; 
UPDATE STATISTICS [dbo].[tbl_WorkItemCustomLatest] WITH FULLSCAN 

, 여기에 마이크로 소프트 연결에 내 원래의 게시물의 복제가있다. 이 게시물에서 Microsoft의 의견은 많은 사람들이 비슷한 행동을보고 있음을 나타냅니다.

0

팀 탐색기 코드의 상태가 하나가을 나열하고자 리뷰 을 지정하기위한 드롭 다운 선택제공합니다. (.명확성을 위해 주 및 소유권 위의 각 항목을 주석) : 가능한 선택은 당신의 성능 문제의 설명에 따르면

My Code Reviews and Requests (open) 
My Code Reviews (open/mine) 
Incoming Requests (open/others) 
Recently Closed (closed) 
Recently Finished (finished) 

이 있기 때문에 모든 사용자에 대해 발생, 보인다 팀에 많은 코드 리뷰가 있습니다. 내 작업 탭을 열면 다양한 코드 검토를로드하면 성능 문제가 발생합니다. 이 상황에 대한

, 당신은이 workaroud을 시도 할 수 있습니다 : 내 코드가 팀 탐색기 드롭 다운 선택에
리뷰 로 전환. 그 후에 문제가 없거나 여전히 존재하는지 다시 확인하십시오.

+0

감사합니다. Patrick, 질문을 더 자세히 업데이트했습니다. '내 코드 검토 및 요청'및 '들어오는 요청'선택자는 느립니다. 다른 것들은 빠르다. 유감스럽게도이 탭을 사용하여 들어오는 요청을 식별하므로 빠른 선택기를 사용하는 것만으로는 옵션이 아닙니다. 문제가 밤새 일어나기 시작하여 코드 검토 데이터를 빌드하는 것이 문제가 아니라고 생각하게되었습니다. 예를 들어 업데이트가 중요한 데이터베이스 테이블의 인덱스를 가져온 것과 같습니다. – ScheuNZ

+0

그러나 업데이트 후에 TFS 데이터베이스에 문제가있는 경우 논리적으로 보입니다. 성능 문제는 그러한 장소에뿐만 아니라 반영되어야합니다. TFS에 연결하거나, TFS에서 파일을 다운로드하는 것과 같은 다른 중요한 성능 문제가 있습니까? –

+0

먼저 TFS 관리자가 업데이트 후 모든 구성을 완료했는지 확인하십시오. 유용한 정보가 있는지 TFS 서버의 업데이트 로그를 확인하십시오. [/ Log (devenv.exe)] (https://msdn.microsoft.com/en-us/library/ms241272.aspx)를 사용하여 문제 해결을 위해 VS의 모든 활동 로그 파일을 추적하십시오. –

관련 문제