안녕하세요.


삽질의 달인 애아범 입니다.


1,2차때는 Azure 위에 얹어져 있는

Windows Server 와 SQL Server에 대해서

간단하게 살펴 봤습니다.


그래서 3차 때는 간단하게 성능을 테스트 해 보려고 합니다.


 SQLIO나 SQLIOSIM등의 전문적인 성능 테스트 툴 이외에 

실제 SQL Server를 사용하면서 체감할 수 있는 방법 들로 테스트를 하고 싶었습니다.

 

짧은 테스트 시간이기에 이번엔 우선 테스트를 위한 데이터를 준비하는데

걸리는 시간을 체크 해 봤습니다.



우선 테스트 데이터를

SQL Server 운영과 튜닝 / 튜닝 파트에 있는 쿼리를 참조하여 

만들어 봤습니다.




select

cast(row_number() over(order by (select 1)) as intcint

,cast(row_number() over(order by (select 1)) as realcreal

,cast(row_number() over(order by (select 1)) as varchar(20)) cvarchar20

,cast(row_number() over(order by (select 1)) as nvarchar(20)) cnvarchar20

,cast('a' as char(200)) cchar200

into tblX

from sys.objects A1

cross join sys.objects A2

cross join sys.objects A3

cross join sys.objects A4

go


약 850만개의 데이터가 생성이 되며 2GB 정도 크기의 테이블이 생성이 되었습니다.


DAS가 연결되어 있는 SQL Server에서는 약 12초가
가상 테스트 DB서버에서는 약 24초가
SSD가 장착되어 있는 제 노트북에서는 28초가
걸렸습니다.

그럼 Azure에서는?
약 7분의 시간이 걸렸습니다.
또 이 테이블에 인덱스를 만드는데도 Azure에서만 유독 배 이상의 시간이 소요 되었습니다.
Azure의 디스크 성능이 그리 좋지 않다고는 알고 있었는데
너무 큰 차이가 났습니다.

믿을 수 없는 결과에 다시 테스트를 해 보고 싶었지만
그만 3차 캠프가 종료가 되고 말았습니다. ㅜㅜ
아마 테스트 환경이 다를수도 있도 과정이 잘못 됐을수도 있을것 같습니다.


다음 4차 캠프의 기회가 주어 진다면 
다시 한번 테이블 생성 - 인덱스 생성 - 테이블 읽기 등의 테스트를 진행해 보고 싶습니다.


또 minsouk 님이 알려주신 아래 테스트도 함께 진행해 보려고 합니다.

"별도의 툴을 이용하지 않고 
SQL Server 만으로 디스크의 읽기 성능을 테스트 하는 방법"

다음 캠프에서 뵙겠습니다. *( __)* 






profile

sqler 프론티어2기 이상현입니다.

msn : ddackjee@hotmail.com

mail : ddackjee@gmail.com