SQL Server IO가 디스크 용량보다 훨씬 느린 이유는 무엇입니까?

SQL Server IO가 디스크 용량보다 훨씬 느린 이유는 무엇입니까?

SQL Server 2012를 실행 중이고 간단한 SELECT * 쿼리를 수행하면 성능 모니터의 디스크 IO가 10MB/s 미만인 것을 볼 수 있습니다. 그러나 데이터베이스 백업을 수행하면 200MB/s보다 큰 값이 표시됩니다.

SQL Server가 데이터를 검색하는 데 왜 그렇게 느린가요?

답변1

10MB/초만 표시되는 이유는 해당 성능 카운터가 동일한 기간 내의 단일 작업이 아닌 1초 간 데이터를 확인하기 때문입니다. 따라서 쿼리가 1초 이내에 10MB를 가져올 수 있지만 성능 모니터에는 10MB/초로만 등록됩니다.

백업은 보드 전체에서 많은 양의 데이터를 가져오므로 디스크의 최대 속도로 등록됩니다. 개별 작업에 대해 디스크 IO를 등록할 수 있다면 아마도 200mb/sec 또는 이와 유사한 속도가 될 것입니다. 작은 패킷의 경우 속도를 측정하는 것이 거의 불가능하기 때문에 작은 데이터 패킷의 경우 더 많은 속도일 수 있습니다.

도움이 되었기를 바랍니다.

답변2

쿼리에서 내가 읽은 모든 내용은 디스크가 아닌 메모리에서 곧바로 나오는 것으로 나타났습니다. 내가 이를 알 수 있는 방법은 쿼리 전에 다음 명령을 실행하는 것이었습니다.

SET STATISTICS IO ON

그 후 쿼리를 실행하고 메시지 탭에서 통계를 확인했습니다. 논리적 읽기는 메모리에서, 물리적 읽기는 디스크에서 수행됩니다.

관련 정보