Hyper-V는 그냥 해도 113,000! 잘하면? 180,000!

가상화에서 I/O 성능은 엔터프라이즈내 미션 크리티컬한 응용 프로그램에서 매우 중요한 요소라고 생각합니다.

데이터베이스, 메일 서버, 웹 서버, 도메인 컨트롤러등 다양한 역할의 서버들이 조직내 네트워크에 배치되어져 있죠. 5월 22일 VMWare의 ESX 서버가 IOPS(I/O Per Second) 결과가 100,000을 넘겼다는 블로그 포스팅을 본 적이 있습니다. 과연 Hyper-V는 어떨까? 라는 궁금증이 있었는데.. Microsoft 가상화 팀이 아닌, 스토리지 네트워킹 전문 기업 QLogic에서 Hyper-V와 자사의 QLogic 8Gb 아답터와 SAN(Storage Area Network)를 연결하여 성능을 측정한 결과에 대해 PR을 통해 알린 것을 찾을 수 있었습니다.

아주 놀라운 결과가 나왔습니다. Press 문서에는 180,000(90% of 200,000) 이라는 숫자가 표시되어져 있습니다.

image

해당 수치는 실제 물리적인 머신에서 측정한 결과 90% 를 보여주는 수치입니다. 하이퍼바이져 가상화 이론상의 가상화 성능 수치는 실제 머신 대비 97~98%정도가 나와야 한다고 합니다. 아직은 Intel VT-D(Direct I/O)와 같은 프로세서 이외의 하드웨어와의 가상화 연계 기술이 대중화되지 않았기 때문에, 97~98%의 성능은 나오기가 힘들다고 보셔야 합니다. VMWare의 100,000이라는 수치가 8KB 블럭 크기로 측정한 결과였기 때문에, 위의 QLogic의 수치는 얼마를 기준으로 측정된 것인지 궁금해졌습니다.

image

이에 QLogic쪽에 관련된 정보를 문의해본 결과, 해당 결과는 512B의 블럭 크기에서 측정한 결과라는 것을 알았습니다. 이에 8KB 블럭 크기로 측정한 결과가 어떤지에 대해서 궁금하였고, 해당 테스트를 본사 팀에게 문의를 해보았습니다.

image 

113,000 IOPS가 나왔다는 결과를 받게 되었고, 이 숫자는 그냥 QLogic 아답터와 SAN을 연결하고, 특별한 추가 튜닝없이, Windows Server 2008과 Hyper-V를 설치하고, 얻어낸 값이라고 합니다. (Out of the box) 해당 수치는 물리적인 서버 성능 대비 93% 라는 답변과 함께…

가상화라는 기술 자체가 물리적인 머신 여러대를 하나의 머신에 통합하는 기술이기 때문에, 물리적인 머신 1대에서 이미 I/O쪽에 많은 부하가 걸리는 응용 프로그램이나 서버라면, 가상화로 이전했을 때도, 문제가 발생하게 됩니다. 이는 가상화로 이전한다는 자체가 약간의 성능 저하를 감수할 수 밖에 없는 것이고, 이러한 성능 저하를 어떻게 기술로서 최대한 커버링을 할 것인가가 가상화 기술을 선택하는데 있어서, 매우 중요한 팩터라고 생각합니다. I/O적인 요소가 발생할 수 있는 분야는 네트워킹, 디스크쪽에 가장 크며, 이중 디스크쪽 I/O는 꼭 검토를 해야겠죠. 물리적인 서버 성능 대비 얼마의 성능이 나오느냐, 그리고 이 성능이 실제 대비 몇 퍼센트를 차지하는지를 잘 보여주는 사례라고 생각합니다.

앞으로 가상화 기술이 소프트웨어, 하드웨어가 같이 발전을 하게 되면, 지금의 격차인 4~7%의 성능 차이가 더 줄어들게 되겠죠. 소프트웨어 기술로서 현재의 성능을 보여주고 있는 Hyper-V가 하드웨어 기술과 결합된다면, 얼마나 더 나은 성능을 자랑하게 될지 기대가 됩니다.

말꼬리 - 해당 테스트는 Windows Server 2008 전체 설치(Full Installation)의 결과값입니다. 해당 I/O는 RAW Disk I/O에 대한 수치이므로, 서버 코어(Server Core)를 쓰는 경우나 전체 설치 버전을 쓰나 동일합니다.