성능분석 5탄 – 메모리 및 네트워크 관련 대기 유형
- Version : SQL Server 2005, 2008, 2008R2, 2012
SQL Server에서 발생하는 대기 유형 중 메모리 및 네트워크 관련 대기 유형에 대해서 살펴 본다.
[메모리 관련 대기 유형]
RESOURCE_SEMAPHORE
이 대기 유형은 쿼리가 메모리 부여를 기다리는 것을 나타낸다. 다른 동시 쿼리로 인해 쿼리 메모리 요청을 즉시 허용할 수 없는 경우에 발생 한다. 대기 수가 많고 대기 시간이 길면 동시 쿼리 수 또는 메모리의 양이 과도하게 많은 것이다.
SOS_VIRTUALMEMORY_LOW
메모리 할당 리소스 관리자가 가상 메모리를 해제 할 때까지 대기 하는 경우에 발생 한다. 주로 32bit 환경에서 자주 발생 한다.
LOWFAIL_MEMMGR_QUEUE
메모리를 사용할 수 있을 때까지 대기하는 동안 발생한다.
[네트워크 관련 대기 유형]
ASYNC_NETWORK_IO
태스크가 네트워크 뒤에서 차단되는 경우에 네트워크 쓰기 중에 발생한다. 이 대기 유형은 느린 네트워크 또는 대상의 서버가 느린 경우 자주 확인 할 수 있다. SQL Server가 클라이언트에게 결과세트를 전송할 것이 있지만 응용프로그램이 처리하지 못하거나 느린 네트워크에서 지연이 발생할 때 확인 할 수 있다. 또는 결과 집합의 크기가 큰 경우에도 발생 할 수 있다. 클라이언트가 서버의 데이터를 처리하고 있는지 확인 해야 한다.
[참고자료]
강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp