본문 바로가기
DBMS

HammerDB로 Redis TPC-C 테스트하기

by developer's warehouse 2023. 12. 8.

HammerDB의 최신 버전은 4.9로 Redis를 지원하지 않습니다. 웹에서 3.3 버전의 HammerDB가 레디스의 TPC-C를 지원하는 메뉴얼이 있는 것을 확인했습니다. 

그래서, 해당 버전을 다운로드 해서 테스트를 진행해 보려고 합니다. 

HammerDB로 Redis TPC-C 테스트하기 썸네일

1. HammerDB의 구버전 다운로드

HammerDB 3.3의 문서는 아래링크에 있습니다. 

https://www.hammerdb.com/docs3.3/index.html

HammerDB의 구버전을 다운로드하려면  아래와 같이 github 페이지에서 구 버전의 릴리즈를 다운로드 할 수 있습니다. 

  1. HammerDB GitHub 릴리즈 페이지로 이동합니다.
  2. 페이지를 아래로 스크롤하여 구버전(3.3)의 릴리즈를 찾습니다.
  3. 원하는 버전을 클릭하면 해당 버전의 자세한 정보와 다운로드 링크가 표시됩니다.
  4. ‘Assets’ 섹션에서 원하는 파일을 클릭하거나 링크를 복사하여 wget으로 다운로드를 시작합니다.

이전 버전의 HammerDB는 Redis 테스트를 지원할 수 있지만, 최신 버전의 Redis와 완벽하게 호환되지 않을 수 있으므로 주의가 필요합니다. 

아래 명령은 리눅스에서 wget을 통해 HammerDB 3.3을 다운받는 명령입니다. 링크를 누르면 HammerDB 3.3을 브라우저를 통해 직접 다운받을 수 있습니다. 

 

wget https://github.com/TPC-Council/HammerDB/releases/download/v3.3/HammerDB-3.3-Linux.tar.gz

 

2. HammerDB 3.3 압축 해제

다운로드 받은 HammerDB-3.3-Linux.tar.gz 파일을 아래의 명령어로 압축 해제 합니다. 

~/hammerdb$ ls
HammerDB-3.3  HammerDB-3.3-Linux.tar.gz  HammerDB-4.9  HammerDB-4.9-Linux.tar.gz
~/hammerdb$ tar -xvzf HammerDB-3.3-Linux.tar.gz

 

3. HammerDB 3.3 실행

압축을 해제하면 HammerDB-3.3 이라는 디렉토리가 생성됩니다. 이 디렉토리에서 hammerdb를 실행하면 hammerdb gui가 나타납니다. 

~/hammerdb$ ls
HammerDB-3.3  HammerDB-3.3-Linux.tar.gz  HammerDB-4.9  HammerDB-4.9-Linux.tar.gz
~/hammerdb$ cd HammerDB-3.3/
~/hammerdb/HammerDB-3.3$ ls
ChangeLog  agent  bin  config  hammerdb  hammerdbcli  hammerdbws  images  include  lib  license  modules  readme  src
~/hammerdb/HammerDB-3.3$ ./hammerdb

 

아래와 같이 GUI Benchmark에 Redis가 나타납니다. 문제는 이 Redis에 client는 예전 버전일텐데, 현재 버전의 redis server에 접속이 되는지가 관건 입니다.

HammerDB 3.3 실행 화면

 

4. 벤치마크 테스트 퀵 스타트

1. Building the Schema

벤치마크 트리 보기에서 TPC-C를 클릭하고 TPC-C 스키마 빌드 옵션을 선택하면 TPC-C 스키마 옵션 창이 표시됩니다. 이 창에서 데이터베이스 소프트웨어의 연결 세부 정보를 입력합니다. 이러한 옵션은 선택한 데이터베이스에 따라 달라집니다. 웨어하우스 수를 선택하고(첫 번째 테스트에는 10개가 적당합니다) 스키마를 빌드할 가상 사용자를 시스템의 CPU 코어 수로 설정합니다. 확인을 클릭합니다.

 

제가 테스트 하는 컴퓨터의 cpu는 8개 이므로 8로 설정합니다. 

Building the Schema 화면

 

트리 보기에서 Build를 두 번 클릭하면 스키마 작성에 대한 메시지가 표시됩니다. 예를 클릭합니다.

그러면 아래와 같이 Redis에 접속해서 데이터를 삽입하는 과정이 나타납니다. HammerDB 3.3에 있는 Redis Client와 제가 설치한 Redis-Server가 연결되나 봅니다. 

왼쪽은 시작하자마자 나타난 화면이고 우측은 조금 지나서 Virtual User 별로 데이터 로딩이 일부 완료된 상태를 보여줍니다.

Building the Schema 실행중 화면Building the Schema 일부 완료 화면

 

아래와 같은 화면이 나타나고 우측 아래화면에 초록색 V 표시가 모두 나타나면 Schema Build(스키마 빌드)가 완료된 것입니다.

Building the Schema 모두 완료된 화면

 

2. 테스트 부하 실행(Run a Test Workload) 및 종료

아래의 화면에서 (▶) 모양을 누르면 테스트가 시작됩니다.

테스트 부하 실행 방법 설명

 

Transaction Counter를 실행해서 tpmc를 확인할 수 있습니다. 일정 시간 돌리고 멈추면 됩니다. 

제 PC에서 Redis는 18만에서 16만 tpmc 사이를 왔다갔다 합니다.

Transaction Counter를 실행 버튼

 

마지막으로 모든 작업을 멈추면 제일 우측 아이콘(Generate TPC Data)를 클릭하여 데이터를 생성할 수 있습니다. 

Generate TPC Data 버튼

facebook twitter kakaoTalk kakaostory naver band shareLink