본문 바로가기
DBMS

HammerDB를 사용하여 Linux 시스템에서 데이터베이스 성능을 테스트하는 방법

by developer's warehouse 2023. 12. 8.

데이터베이스 성능은 애플리케이션이 원활하고 효율적으로 실행되도록 하는 데 있어 매우 중요한 요소입니다. 데이터베이스 관리자와 개발자들 사이에서 데이터베이스 성능 벤치마킹을 위해 인기를 얻고 있는 도구 중 하나는 HammerDB입니다. 이 오픈 소스 도구는 Oracle, SQL Server, MySQL, PostgreSQL을 비롯한 다양한 데이터베이스를 지원합니다. HammerDB를 사용하면 데이터베이스 운영의 효율성을 평가하고, 쿼리 성능을 평가하고, 지연 시간을 측정할 수 있습니다.

이 가이드에서는 Linux 시스템에서 HammerDB를 사용하는 방법을 다음과 같은 단계로 가이드합니다.

테스트 준비 사항

  • 관리자 권한이 있는 Linux 컴퓨터.
  • 데이터베이스 서버가 설치되어 있어야 합니다(예: MySQL, PostgreSQL).
  • HammerDB를 다운로드할 수 있는 네트워크 연결.

이제 시작하겠습니다.

1. 설치하기 - Installation

1.1. 먼저 HammerDB 공식 웹사이트로 이동하여 Linux용 최신 버전을 다운로드합니다.

아래의 링크에서 tarball(tar.gz) 파일을 다운로드 할 수 있습니다. 

https://www.hammerdb.com/download.html

압축된 tar 파일은 아래 이미지의 표시된 링크를 눌러서 가능합니다. 

tar.gz 파일을 다운로드 이미지

 

1.2. 다운로드가 완료되면 아래와 같이 tarball을 압축 해제합니다

저의 경우 다운로드 받은 버전이 4.9이므로 아래와 같이 압축 해제해 주었습니다. 

tar -xvzf HammerDB-4.9-Linux.tar.gz

1.3. 압축 디렉토리를 확인합니다. 

이 상태가 hammerdb 설치가 완료된 상태이며, 해당 디렉토리에 설치된 것으로 보시면 됩니다. 

cd HammerDB-4.9/
$ ls
CODE_OF_CONDUCT.md  CONTRIBUTING.md  ChangeLog  LICENSE  README.md  agent  bin  config  hammerdb  hammerdbcli  hammerdbws  images  include  lib  modules  scripts  src

1.4. hammerdb 실행

아래 명령으로 tpc-c를 테스트 하는 hammerdb를 실행할 수 있습니다.

./hammerdb

 

2.  HammerDB 실행

2.1. HammerDB GUI 실행

앞서 설명드린것 처럼 아래 명령어를 통해 hammerdb의 gui 버전을 실행할 수 있습니다. cli 버전은 hammerdbcli를 실행하면 됩니다.

hammerdb

 

2.2. HammerDB GUI 실행 화면

hammerdb 명령을 실행하면 아래와 같이 HammerDB GUI가 열리고 테스트를 구성하고 실행할 수 있습니다.

 

3. 벤치마크 구성

3.1. 드롭다운 메뉴에서 테스트할 데이터베이스 유형을 선택합니다.

3.2. 호스트 이름, 포트, 사용자 이름, 비밀번호 등 연결 세부 정보를 구성합니다.

3.3. 실행할 워크로드 유형을 선택합니다. 예를 들어, 트랜잭션 처리용 TPC-C 또는 의사 결정 지원용 TPC-H를 선택할 수 있습니다.

3.4. 필요에 따라 가상 사용자 수와 테스트 기간을 조정합니다.

4. 벤치마크 실행


4.1. 모든 구성이 완료되면 "벤치마크 시작" 버튼을 클릭합니다.

4.2. HammerDB가 테스트를 시작하고 GUI에서 진행 상황을 모니터링할 수 있습니다.

4.3. 테스트가 완료되면 HammerDB는 분당 트랜잭션 수(TPM) 및 쿼리 응답 시간 등 데이터베이스의 성능에 대한 자세한 보고서를 제공합니다.

5. 결과 분석

5.1. 생성된 보고서를 검토하여 시뮬레이션된 부하에서 데이터베이스의 성능을 파악합니다.

5.2. 결과를 이전 벤치마크 또는 업계 표준과 비교하여 최적화가 필요한지 결정합니다.

5.3. 인사이트를 사용해 데이터베이스 구성, 인덱싱 또는 쿼리 설계에 필요한 조정을 수행합니다.

 

참고: hammerdb 문서

https://www.hammerdb.com/document.html

facebook twitter kakaoTalk kakaostory naver band shareLink