간단한 쿼리의 경우 SNIReadSync가 120-500ms 사이에서 실행됩니다.나는 무엇을 찾나요?

StackOverflow https://stackoverflow.com/questions/1610874

  •  05-07-2019
  •  | 
  •  

문제

SQL Server 2005에 대해 간단한 쿼리를 실행하고 있습니다.

protected static void InitConnection(IDbCommand cmd) {
        cmd.CommandText = "set transaction isolation level read uncommitted ";
        cmd.ExecuteNonQuery();            
    }

dotTrace 3.1로 프로파일링할 때마다 SNIReadSync 메서드에 100 - 500ms가 걸린다고 합니다.

이 시간을 단축하려면 어떤 종류의 것들을 찾아야 합니까?

감사해요!

도움이 되었습니까?

해결책

테스트하지는 않았지만 IsolationLevel.ReadUncommitted 옵션과 함께 TransactionScope를 사용한 경우 동일한 문제가 발생하는지 궁금합니다.전체 호출 세트를 캡슐화해야 하며 이로 인해 이 명령문이 필요하지 않게 됩니다.나는 이 진술이 귀하의 기본적인 관심사가 아니라 일반적인 관심사라는 것을 알고 있습니다.

또 다른 방법은 DBConnectionScope 클래스를 생성하고(또는 신뢰할 수 있는 공급업체의 클래스를 활용) 열려 있는 총 연결 수를 줄이는 것입니다.

다른 팁

연결 풀링이 활성화되어 있는지 확인하거나 연결이 열릴 때마다 상당한 페널티를 받게됩니다. 연결 문자열에서 풀링 세트 = true 또는 풀링에 대한 참조를 제거합니다. 기본값이 활성화되어 있다고 생각합니다.

이것은 나에게 문제를 해결했다. 그것이 당신과 다른 사람들에게 도움이되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top