SQL Server/SQL Server Tip

SAN 스토리지 성능 모니터 - SAN 스토리지를 사용하는 경우 성능 카운터를 어떻게 모니터링 할까?

SungWookKang 2015. 7. 22. 10:41
반응형

SAN 스토리지 성능 모니터

  • SAN 스토리지를 사용하는 경우 성능 카운터를 어떻게 모니터링 할까?

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012

 

SAN 스토리지를 사용하는 경우 성능 모니터(performance counter)에 나타나는 숫자를 믿을 수 있을까?

 

이번 포스트는 sqlmag.com에 게시된 내용으로 필자가 읽고 이해한 내용을 바탕으로 정리하였으며 번역의 오류나 기술적 오류가 있음을 미리 알려둔다.

 

SAN 스토리지를 사용하는 경우 카운터의 일부는 신뢰할 수 없다. 수 많은 카운터 중에 어떤 값이 신뢰할 수 있는 값이며 어떤 값이 신뢰 할 수 없는 값인지 구분 할 줄 아는 것은 매우 중요하다.

 

다음 목록을 통하여 SAN 스토리지 사용시 신뢰할 수 있는 값과 신뢰 할 수 없는 값을 구분하여 보자.

 

개인적인 생각으로는 Windows에서 제공하는 성능 모니터의 값을 그대로 믿을 수는 없을 듯 하다. 아래의 사례를 바탕으로 이해해 보아도 결국엔 판단은 사용자의 몫이라는 생각이 든다. 스토리지 제공업체에서 제공하는 모니터링을 최대한 활용하는 것이 좋을 듯 하다.

 

 

다음 카운터의 목록은 신뢰할 수 있는 카운터 목록이다. 하지만 일부 카운터는 스핀들이 아닌 캐시 값을 나타낼 수 있다는 것을 기억하자.

 

카운터

설명

Avg. Disk Bytes/Read

읽기 작업 동안 디스크로 전송되는 평균 바이트 수

Avg. Disk Bytes/Transfer

읽기 또는 쓰기 작업 동안 디스크로(또는 디스크에서) 전송되는 평균 바이트 수

Avg. Disk Bytes/Write

쓰기 작업 동안 디스크로 전송되는 평균 바이트 수

Avg. Disk sec/Read

디스크에서 데이터를 읽은 평균 시간(초)

Avg. Disk sec/Transfer

평균 디스크 전송 시간(초)

Avg. Disk sec/Write

디스크로 데이터를 쓴 평균 시간(초)

Disk Bytes/sec

쓰기 또는 읽기 작업 동안 디스크로(또는 디스크에서) 전송되는 바이트 수

Disk Read Bytes/sec

읽기 작업 동안 디스크에서 전송되는 바이트 수

Disk Reads/sec

디스크에서의 읽기 작업 횟수

Disk Transfers/sec

디스크에서 읽기 또는 쓰기 작업 횟수

Disk Write Bytes/sec

쓰기 작업 동안 디스크로 전송되는 바이트 수

Disk Writes/sec

디스크에서의 쓰기 작업 횟수

Split IO/Sec

디스크의 입출력이 여러 개의 입출력으로 분할된 비율. (분할된 입출력은 하나의 입출력 보다 큰 크기의 데이터를 요청하거나 디스크가 조각나 있는 경우 발생)

 

 

다음 카운터의 목록은 신뢰할 수 있는 카운터 목록이다. 하지만 Windows 무엇을 보느냐에 따라 디스크 서브시스템의 값을 다르게 나타낼 수 도 있다.

카운터

설명

Avg. Disk Queue Length

샘플 간격 동안 선택된 디스크에 대해 큐에 있는 읽기 및 쓰기 요청의 평균 수

Avg. Disk Read Queue Length

샘플 간격 동안 선택된 디스크에 대해 큐에 있는 읽기 요청의 평균 수

Avg. Disk Write Queue Length

샘플 간격 동안 선택된 디스크에 대해 큐에 있는 쓰기 요청의 평균 수

Current Disk Queue Length

현재 디스크에서 기다리는 요청의 수. 서비스 중인 요청의 수도 포함됨.

 

 

다음은 신뢰 할 수 없는 카운터의 목록이다.

카운터

설명

% Disk Read Time

디스크 드라이브가 읽기 요청을 처리하는데 사용된 시간의 백분율

% Disk Time

디스크 드라이브가 읽기 또는 쓰기 요청을 처리하는데 사용된 시간의 백분율

% Disk Write Time

디스크 드라이브가 쓰기 요청을 처리하는데 사용된 시간의 백분율

% Idle Time

샘플 간격 동안 디스크가 유휴 상태였던 시간의 백분율을 나타냄.

 

 

아래 그림은 필자의 드라이브 구성으로 물리적인 디스크를 C,D의 논리적인 드라이브로 나누어 사용하고 4개의 물리 디스크를 RAID 0 으로 묶어 하나의 디스크처럼 사용하였다.

 

필자의 경험으로는 일반적으로 서버에 장착되는 인터널 디스크(내부 디스크)의 경우에는 Windows 성능 모니터를 통해 측정이 가능하였으나 이 또한 RAID 구성에 따라서 다르게 해석되어야 했다. DAS 또는 SAN 같은 경우에는 컨트롤러의 캐시에 따른 영향이 있었으므로 성능 모니터에서 정확히 측정하기 어려운 부분이 있었다. SAN의 경우에는 특성상 공유 디스크로 여러 대의 서버가 같이 사용하는 경우가 많으므로 특히 오차가 더욱 심한 것을 느낄 수 있었다.

 

따라서 스토리지 업체에서 제공하는 모니터링 솔루션을 이용한 모니터링이 가장 정확하지 않을 까 생각한다. (스토리지 업체에서 제공하는 모니터링은 컨트롤러와 직접 통신하여 실제 성능을 보여주는 듯 하였다.)

 

[참고자료]

http://sqlmag.com/blog/what-perfmon-counters-can-i-trust-when-using-san-disks

 

 

2013-09-17 / 강성욱 / http://sqlmvp.kr

 

 

 

반응형