서버 벤치마크 변신중
서버 벤치마크 측정 기준「지금 변신중」
Stephen Shankland ( CNET News.com ) 2005/05/18
서버는 1992년 이래로 급격한 변화를 거듭해 왔다. 그러나 서버의 퍼포먼스를 측정하는 속도 테스트는 가장 폭넓게 이용되고 있으면서도 이런 서버의 변화에 따라가지 못한것이 사실이다.
현재 이 문제를 다루고 있는 TPC(Transaction Processing Performance Council)라는 업계 컨소시엄은 생겨난지 13년이나 된 TPC-C 테스트의 뒤를 잇게될 새로운 기준의 도입을 계획하고 있다.
이 컨소시엄에 참여하고 있는 유니시스(Unisys)의 제롤드 버거트에 따르면 오는 2006년경에는 TPC-C의 속편이라 할 수 있는 새로운 테스트 방법이 TPC-E라는 공식 명칭으로 등장할 것이라고 했다. 이 테스트는 현대의 데이터베이스 서버 동작 방식을 더 잘 반영하도록 설계되고 수행비용도 저렴할 뿐만 아니라 파격적인 하드웨어와 소프트웨어를 구성해 인위적으로 높은 점수를 얻기 어렵도록 만들어졌다.
벤치마크 점수는 마케팅 관계자나 신규 설계를 평가하는 엔지니어들에게만 유용한 것은 아니다. 이런 결과는 신규로 제품을 구매하는 고객들에게도 다양한 하드웨어와 소프트웨어를 비교하기 위해 완벽하지는 않지만 유용한 수단으로 폭넓게 이용되고 있다.
사실 기존 속도 테스트도 많은 고객들의 평가 방법으로 이용돼 왔다. 버거트는 "고객들이 입찰시 제출하는 RFP(Requests for Proposal)에서 가장 많이 참조하는 것이 TPC-C"라고 말했다. SAP의 SD 테스트와 비교할 때 TPC-C는 성능 뿐 아니라 성능 대 가격의 비도 측정해주기 때문에 더욱 유용하다.
이 테스트의 결과가 얼마나 중요한지는 지난 2001년 HP가 자사의 최고 사양 서버인 수퍼돔이 기대보다 낮은 점수를 받았을때 그 원일을 밝히기 위해 투자한 돈과 노력을 보면 알 수 있다. 당시 HP는 이 문제를 철저하게 조사하기 위해 100만달러 이상을 지출했다. 또한 이 과정에서 테스트를 망친 직원을 고소하기도 했다.
TPC컨소시엄이 개선작업에 나서고 있는 것은 TPC-C만이 아니다. 애플리케이션 서버라고 불리는 중간급 머신에 대한 새로운 벤치마크도 시행할 계획이다.
TPC-App와 TPC-DS
TPC-App 테스트는 데이터 베이스 서버, 웹 서버, 여타 애플리케이션 서버들과 데이터를 교환하는 전형적인 작업을 서버가 중간에서 얼마나 잘 수행하는가를 측정한다. 그 점수는 1초당 처리한 웹 서비스의 수로 나타내며 이 테스트 결과로부터 애플리케이션 서버에서 사용되는 두 가지 경쟁 기술인 MS의 닷넷과 선 마이크로시스템즈등이 자바를 비교하는 기준으로 이용될 수 있다.
TPC-App는 기존의 TPC-W라는 테스트를 대신하게 된다. TPC-W 테스트의 경우 몇 가지 결점이 지적돼왔다. 일단 테스트를 위해 보통 25대의 서버가 필요할 정도로 비용이 많이 들었으며, 애플리케이션 서버 성능뿐 아니라 정보를 저장하는 서버의 성능은 물론 다른 보조 머신까지 측정한다는 것은 현실적으로 불가능 했다. 버거트는 TPC-W 테스트 과정은 상당히 포괄적이어서 "측정 내용에 대해 뭐라 말하기 어려웠다"고 말했다.
버거트는 IBM, MS, HP, BEA 시스템즈, 오라클, 델, 유니시스, AMD, 인텔이 TPC-App를 만들 때 관여했다고 말했다.
또한 이와는 별도인 테스트도 개발이 진행중이라고 한다. 이것은 1999년 선보인 TPC-H를 대신할 테스트로 구매 경향 같은 정보를 수집하기위한 대량의 데이터를 처리하는 서버인 '데이터 웨어하우스(data warehouses)'의 성능을 측정하기 위한 것이다.
새로운 대안으로 떠오르고 있는 TPC-DS는 현대적인 데이터 웨어하우스 사용을 제대로 보여주고 있다. 버제트는 최근 이 프로그램이 마케팅 캠페인이 지역마다 판매에 어떤 영향을 미치는지 알아보기 위해 복잡한 분석을 수행하고 있다고 전했다. 특히 TPC-DS에서는 시스템이 인위적으로 높은 점수를 만들어내 벤치마크 테스트에서 부각되는 것을 방지하기 위해 TPC-H에서는 25개이던 것을 135개의 각기 다른 수행항목으로 늘렸다.
TPC-C의 과거와 현재
말도 많고 탈도 많았던 서버 역사에서 TPC-C는 여전히 건재하고 있다. 1992년 당시 메인프레임은 순서상으로 서버의 가장 상위였으며 유닉스 서버가 그 뒤를 바짝 따르고 있었다. 그 후 서버 시장은 인텔 프로세서를 사용하는 저가의 서버가 생겨나고 DEC(Digital Equipment Corp.)와 컴팩의 종말, MS 윈도우와 리눅스의 등장, 128개나 되는 프로세서를 장착한 초대형 '괴물'서버의 출현을 거치며 재편돼왔다.
초기만 해도 TPC-C 점수는 오늘날에 비해 아주 작았다. 1998년이 되서야 분당 트랜잭션 수를 나타내는 TPM 수치가 약 10만 정도인 서버가 등장하기 시작했다. 2001년 45만6천 TPM을 나타내는 시스템이 후지쯔에 의해 소개됐다. 이 시기에 썬은 TPC-C가 더 이상 현실을 반영하지 못한다는 이유로 거리를 두게 된다. 그럼에도 불구하고 IBM은 2004년에 320만 TPM 수치를 기록하며 최고를 갱신했다.
가격 대비 성능도 서버 가격이 떨어지면서 급격하게 변해왔다. 1996년 이전에 출시된 시스템들은 처리 단위당 비용이 200달러를 넘어 심지어는 1200달러까지 이르기도 했다. 그러나 현재 IBM p5-575의 경우 5.19달러에 불과하다.
버거트는 TPC-C가 본래 주문 배치 같은 기본 트랜잭션을 처리하며 웨어하우스의 입출력을 관리하는 컴퓨터 데이터베이스를 시뮬레이션하고 있다고 말했다. TPC-E는 EB(Electronic Brokerage)를 보여주고 훨씬 더 복잡한 프로세스도 포함돼 있다.
버거트에 따르면 하나는 '2PC(2단계 커밋. two-phase commit)' 트랜잭션이고 다른 하나는 '참조 무결성'이라고 한다. 2PC란 다른 데이터베이스의 관련 작업이 완료되기 전에 데이터베이스 작업이 완료될 수 없도록 하는 것이고, 참고 무결성이란 한 요소가 프로세스에 의해 사용되는 동안 다른 프로세스에 의해 변경되거나 삭제될 경우 데이터베이스에 문제가 발생하지 않도록 하는 것을 말한다.
TPC-C의 결점
그러나 TPC-C에도 한계는 있다. 그중 하나는 실제로 존재하기 힘든 하드웨어와 소프트웨어 설정을 서버에 적용하면 실현 불가능한 높은 점수를 만들어내는 게 쉽다는 점이다. 예를 들어 어마어마한 수의 하드 드라이브를 장착한 서버를 이용해서 높은 TPC-C 점수를 만들어 낼 수 있는데, IBM가 보유한 최고 점수의 경우 하드 드라이브를 6548개 이용해서 만들어낸 것이다.
또 다른 문제는 TPC-C 테스트를 클러스터에 적용할 경우 클러스터 내에서 상대적으로 독립된 서버로 TPC-C의 테스트 과정이 분산 처리된다는 점이다. 이 때문에 저렴한 서버들이 멀티프로세서를 장착한 초대형 서버 한 대와 맞먹는다는 인상을 주게 되었으며, 컨소시엄 측은 이후 클러스터 시스템과 그렇지 않은 시스템을 분리해 내놓는데 이른다.
버거트는 오늘날 실제 세계의 데이터베이스 작업은 그렇게 쉽게 나뉘어져 분산 처리되지 않는다며 앞으로 나올 TPC-E가 이를 반영하게 될 것이라고 말했다. 그는 "실세계에서 클러스터를 적용할 때 얻게 될 효과를 TPC-E가 좀 더 현실적으로 나타낼 것이다"고 말했다.
클러스터를 적용했을 때와 그렇지 않았을 때의 결과를 실제 비교할 수 있다면 고객들은 클러스터 데이터베이스를 평가하는 데 이를 유용하게 이용할 수 있을 것이다. 현재 오라클 리얼 애플리케이션 클러스터와 인피니밴드 초고속 통신 연결 하드웨어 같은 기술이 점차 성숙되면서 클러스터 데이터베이스 기술은 더욱 더 강력해지고 있다.
버거트는 썬 등 주요 데이터베이스, 프로세서, 서버 판매 업체들이 TPC-E를 만들고 있다고 언급했다. @