티스토리 뷰
좀 지난 것이긴 하지만, 2010년 5월에 스위스의 쮜리히 공과대학 (ETH Zurich)의 전산과 교수들로 구성된 Systems Group이 퍼블릭 클라우드 사업자의 서비스에 대해 end-to-end performance study를 진행하였고 그 결과가 highscalability.com에 게시되었다. 대상이 되는 서비스로는 Microsoft Azure, Amazon AWS, Google AppEngine이다. 성능 벤치마크를 위해 이들이 사용한 방식은 웹 트랜잭션 성능 벤치마크라고 널리 알려진 TPC-W 벤치마크이다. TPC-W에서 정의한 바대로, emulated browser (EB)에서 발생시킨 사용자 요청(Web-Interaction:WI) 을 어느 정도 받아 낼 수 있는지를 측정하기 위해 동시 사용자수인 EB를 1~9000까지 증가시켜 가며 각 클라우드 서비스의 확장성과 이에 따른 비용을 산정하였다. 이들은 하드웨어에 따른 벤치마크 오차를 줄이기 위해 Amazon EC2를 클라이언트(EB)로 사용하였으며 전체 구조는 아래와 같다.
Amazon의 각 서비스별로 시나리오가 구성되고, 구글과 마이크로소프트의 경우 각각 한 가지 경우만 상정한 것이 조금 아쉽다. 벤치마크 결과는 아래와 같으며 이 그림이 의미하는 바는 동시 사용자를 1부터 늘려 9000까지 진행하면서 요청을 날렸을 때 초당 응답 처리 수 (WIPS)를 양축으로 하여 나타낸 것이다. 그림에서 보듯이 동시 사용자 9000을 견뎌낸 서비스는 아마존 S3와 SQL Azure 기반의 마이크로소프트 Azure 밖에 없다. 아마존 RDS는 동시사용자 3500정도를 감당하지 못하였다. 아마존 S3가 Blob과 같은 단순 데이터를 저장하는 용도인 것에 비해 SQL Azure는 Relation Database 기능을 클라우드로 제공하는 것이기에 둘을 비교하는 것 자체가 어쩌면 맞지 않으며, SQL Azure의 우수성을 확인할 수 있는 대목이다. Windows Azure Storage를 비교 대상에 넣지 않은 것을 지적한 것에 대해 System Group에서는 다음 벤치마크에는 함께 넣어 진행할 것임을 밝혔다. 구글 AggEngine이 일찌감치 동시사용자 500에서 떨어져 나간 것은 AppEngine의 많은 부하의 Write를 감당하기에는 적합하지 않게 트랜잭션 모델이 설계되었기 때문으로 풀이된다.
클라우드가 가져다 주는 장점인 비용 절감을 알아보기 위해 위의 결과를 단위 요청 처리 (WI)당 드는 비용으로 환산한 결과가 아래이다. 즉 동시 사용자를 늘려 가면서 발생시킨 WI를 처리하기 위해 지불해야 하는 금액을 계산하고 이를 단위 WI 당 드는 비용으로 환산한 것이다. 아래 그림에서 보듯이 동시 사용자 100이하에서는 구글이 가장 저렴하며 중간 정도의 부하 및 고부하시에는 SQL Azure기반의 마이크로소프트 Azure가 가장 저렴함을 알 수 있다. MySQL을 적용한 처음 세가지는 고부하를 견뎌내지 못했기 때문에 빛을 바랠 수 밖에 없고, 동시 사용자 9000까지 견뎌내며 WIPS도 우수하고 가격도 저렴한 SQL Azure 기반의 마이크로소프트 Azure가 눈길을 끈다.
아래 그림은 하루 기준으로 소요되는 비용을 역산한 것이다. 마찬가지로 부하가 아주 적은 경우 구글이 저렴하고 중간부터 최고의 부하가 걸릴 경우 SQL Azure를 적용한 마이크로소프트 Azure가 가장 저렴하다.
Systems Group 싸이트에 가면 이번 조사에 대한 전체 결과 리포트가 공유되고 있어서 테스트 자체에 대한 좀 더 상세한 설명 을 살펴볼 수가 있다.
- Total
- 289,263
- Today
- 1
- Yesterday
- 0