Windows Azure & SQL Server 2부 시스템 편

 

마이크로소프트 & SQLER.COM에서 진행하는 Windows Azure 이벤트!

 

Windows Azure 체험 이벤트로 1부에는 Azure의 환경설정에 대해서 알아 보았다. 1부의 내용을 간략히 정리하면 웹 포털을 통한 클릭 환경의 GUI 설정으로 사용자들이 쉽게 사용할 수 있었다. 또한 다양한 대쉬보드를 통하여 현재 시스템의 상황을 모니터링해 주는 기능이 매우 인상 깊었다.

 

1부   환경설정편 링크 : http://sqlmvp.kr/140172829488

 

2부에서는 실제적인 Windows Azure의 시스템 구성을 살펴보고 실제 성능이 어떠한지 살펴 보도록 하자. 이번 시스템편은 지극히 개인적인 테스트로 어떠한 공식적인 인증기관이나 테스트 시나리오가 적용된 것이 아님을 밝혀 둔다. 따라서 잘못된 데이터가 산출 될 수 있음을 미리 알려드리며 만약 잘못된 테스트로 인하여 오류가 발견된다면 즉시 수정을 하도록 하겠다.

 

Windows Azure 세팅을 완료하고 나면 다음과 같이 바탕화면에 HTML파일을 볼 수 있다. 이 파일은 일종의 사용자 튜토리얼과 같은 매뉴얼이다.

1.png

 

 

HTML 파일을 열어 클릭해 보면 다음과 같이 다양한 메뉴와 설명이 안내되어 있다. (물론 영어로작성 되어 있다.) 매뉴얼에 대해서는 이 정도만 확인하고 넘어가도록 하겠다 ^^;

2.png

 

 

새로운 시스템을 받았으니 당연히 어떤 프로그램이 설치 되어 있는지 보자. 체험으로 지급 받은 시스템이라 이미 Windows Azure + SQL Server는 설치된 상태이기에 예상했던 데로 그 외의 프로그램은 설치되어 있지 않았다. 그래도 SQL Server 2012버전으로 최신버전이 설치되어 있었다.

3.png

 

 

[내 컴퓨터]를 클릭하여 디스크 드라이브 구성 및 이것 저곳을 살펴보자.

1편에서 스토리지 설정에서 보았듯이 가상머신 1대당 스토리지 1개로 할당되었을 거라는 예상이 일치 하였다.

C 드라이브는 30GB로 할당 되어 있었으며 D 드라이브는 600G의 스토리지를 할당 받았다. (물론 이 스토리지도 가상 스토리지 이다.)

체험 버전으로 제공 받은 시스템이기에 시스템의 환경이 실제 서비스 환경과 많이 다를 수 있음을 미리 알려 둔다.

4.png

 

 

시스템 속성을 살펴 보자. 시스템은 다음과 같이 구성 되어 있었다.

l  OS : Windows Server 2008 R2 Datacenter

l  CPU : AMD Opteron 2.09 (2process)

l  M/M : 14GB

5.png

 

 

장치관리자에서 디바이스 목록을 살펴 보았다. 가상머신 이기에 대부분의 정보는 호스트의 정보와 가상 디바이스로 구성되어 있을 것이다. 역시나 스토리지는 가상으로 할당 받은 것을 확인 할 수 있다. 프로세서는 8코어를 할당 받았다.

6.png

 

 

좀더 정확한 시스템 구성 정보 확인을 위하여 MSINFO32를 실행 하였다.

7.png

 

 

MSINFO32를 이용하면 다음과 같이 상세한 정보를 확인 할 수 있다. 물론 서드파티 툴을 이용하면 CPU의 번호나 디바이스 장치 번호까지 확인 할 수 있지만 이 정도의 정보만으로도 충분히 시스템의 스펙을 확인 할 수 있기에 이정도 쯤으로 마무리 하도록 한다.

8.png

 

 

필자가 컴퓨터를 사용할 때마다 습관처럼 켜 놓은 작업관리자를 켜보았다. 8코어의 프로세서 그래프가 매우 조용히 바닥을 지나고 있다. (아직 특별한 서비스를 운영중인 것이 없기에)

그런데 여기서 이상한 점을 발견! 아직 아무런 프로그램이나 서비스를 운영하지 않았는데 이미 메모리를 6GB 넘게 사용하고 있다.

9.png

 

 

프로세스 확인 결과 SQL Server Report Services 4.6G의 메모리를 사용하고 있었다. (누가 사용했나? 왜 이렇게 많이 사용하고 있지?)

 10.png

 

 

그래서 우선 사용하지 않는 서비스부터 중지하기로 하여 SQL Server의 구성관리자를 실행하여 리포팅 서비스를 중지 하였다.

11.png

 

12.png

 

다음과 같이 메모리 사용량이 줄어 든 것을 확인! 

13.png

 

 

네트워크의 경우에는 10Gb로 연결되어 있으며 이 또한 가상 네트워크로 실제 성능은 호스트의 NIC성능에 따라 달라질 듯 하다.

14.png

 

 

열심히 시스템을 살펴 보는데 윈도우 자동 업데이트도 켜 있었나 보다. (누가 서버에 자동 업데이트를 설정해 놓았을까? .) 지금은 업데이트가 중요한 것이 아니므로 우선 연기!

스토리지 테스트를 위하여 SQLIO라는 프로그램을 설치해 보기로 했다.

15.png

 

 

SQLIO를 이용한 스토리지 테스트를 진행 하였다. IO 테스트가 진행 되는 동안 성능 카운터를 이용하여 실제 디스크의 IDEL 정보 및 READ/WRITE 정보를 모니터링 하였다.

16.png

 

 

IO 테스트 결과 1137M/S 의 속도가 측정되었다. 초당 1GB 정도 기록 할 수 있나 보다. 디스크 IDEL의 여유가 있는 것으로 보아 좀더 스트레스를 부여해도 좋았을 듯 하다.

17.png

 

 

예전에 개인용 컴퓨터에서 1TB *5 의 하드를 Raid 0(스트라이프) 어레이를 구성하여 IO 테스트를 한 자료가 있어서 첨부해 보았다. 물론 개인용과 기업용은 비교 대상이 되지 않지만 이 글을 보는 사람들의 이해를 돕기 위하여 우리가 일반적으로 접할 수 있는 시스템과 비교해 보았다.

50GB의 데이터를 측정하였으며 랜덤과 시퀀셜, 읽기,쓰기 총 4단계로 측정 자료이다.

17_1.png

 

 

SQLTAG의 김상수 님이 Azure 서비스에서 스토리지 테스트한 자료가 있어 링크 첨부 한다.

김상수님의 스토리지 테스트 : http://cafe.naver.com/sqlmvp/2966

 

 

지금까지 스토리지의 성능에 대해서 알아 보았다. 스토리지의 성능은 개인의 테스트 결과보다 벤더에서 제공하는 공식 문서를 확인 하도록 하자.

 

 

이제 SQL Server를 실행하여 보자. 다음 시작 버튼을 이용하여 SSMS를 실행 하였다.

18.png

 

 

특별한 설정 변경 없이 로컬 계정으로 접속 하였다.

19.png

 

 

SQL Server가 설치 되어 있으니 데이터베이스를 생성해 보자. 우선 얼마나 빠르게 생성하는지 확인 하기 위하여 10GB의 크기로 데이터파일을 생성 하였다. 11초 정도의 시간이 걸린 것을 확인 하였다.

CREATE DATABASE SW_TEST

ON PRIMARY

(NAME = SW_TEST,

FILENAME = 'D:\SQL_DATA\SW_TEST.MDF',

SIZE = 10240)

LOG ON

(NAME = SW_TEST_LOG,

FILENAME = 'D:\SQL_DATA\SW_TEST_LOG.LDF',

SIZE = 500MB)

 

20.png

 

 

일반 개인용 컴퓨터에서는 어느 정도인지 궁금하여 나의 작업 PC에 진행해 보았다. 성능 편차를 줄이기 위하여 삼성 SSD 830에서 진행하였다.  결과는 약 37초 정도 걸렸다.

21.png

 

 

단순하게 나의 개인용 SSD보다는 빠르구나! 하는 느낄 수 있었다.(정말 단순 무식한 비교이다)

 

데이터베이스 파일이 생성되는 동안 성능 카운터를 통하여 성능 차이를 확인해 보았다.

디스크의 Read/Write에서 4배 정도의 성능 차이를 확인 할 수 있다. (SSD를 스트라이프 4장 정도 묶으면 비슷할려나?)

 

[Azure]

22.png

 

[My PC SSD 삼성 S830]

23.png

 

 

네트워크를 통한 파일 복사를 통하여 NIC의 사용량을 체크해 보고 싶었으나 IP확인결과 클래스가 틀린 것을 확인하였다. 파일 복사를 통한 트래픽은 조금 더 고민해 보고 포스팅 하도록 하겠다.

24.png

 25.png

 

이렇게 하여 체험판으로 지급받은 Windows Azure의 시스템 구성을 살펴 보았다.

 

혹시 궁금한 점이나 테스트 해보았으면 하는 시나리오가 있다면 주저없이 이메일 또는 댓글 등을 통하여 남겨주면 최대한 궁금한 점을 해결 할 수 있도록 하겠다.

 

2012-11-16 / 강성욱 / http://sqlmvp.kr

 

 





profile

안녕하세요, SQLER.com의 jevida, 강성욱입니다.

NEXON MSSQL DBA.

SQLTAG.org 매니저.

SQL프론티어 리드.

SQL Server MVP

 

E-Mail: jevida@nate.com / Mobile: +82 10-3786-0318

Blog : http://SQLMVP.kr

Cafe : http://www.SQLTAG.org