본문 바로가기
Linux/리눅스 자원관리 개선(사용자 영역)

[RocksDB] 리눅스에 RocksDB 설치하고 성능 테스트하기

by dingwoon 2024. 9. 11.

1 RocksDB의 필요성

ghOSt로 ULE를 구현하고, 사용자 공간에 적용시킬 계획이다. 그리고 적용시키기 전과 후의 성능을 테스트하기 위해 RocksDB를 사용할 예정이다. RockDB를 테스트에 이용하기로 한 이유는 일단 ghOSt 논문에서 활용한 방식이고, ULE 알고리즘 특성상 여러 task를 생성하는 RocksDB의 benchmark 방식이 적합할 것이라 생각했다.

2 설치 방법

2.1 의존성 설치하기

sudo apt-get install -y \
  libgflags-dev \
  libsnappy-dev \
  zlib1g-dev \
  libbz2-dev \
  libzstd-dev \
  liblz4-dev

의존성 설치하기

dpkg -s libgflags-dev | grep Version

gflags 버전확인

sudo apt update
sudo apt install cmake

git clone https://github.com/gflags/gflags.git
cd gflags

mkdir build && cd build
cmake ..
make
sudo make install

버전이 확인되지 않는다면, 위의 코드를 통해 적절한 저장소로 이동 후 gflags를 clone하고 설치합니다.

2.2 RocksDB 설치하기

git clone https://github.com/facebook/rocksdb.git

cd rocksdb

make static_lib db_bench

rockDB의 릴리즈 버전과 벤치마크 테스트를 위한 db_bench를 컴파일합니다.

3 성능 테스트하기

./db_bench --benchmarks=readrandom --num=10000000 --threads=20

1000만 개의 랜덤 read 요청을 20개의 스레드를 통해 처리하는 벤치마크 테스트 코드입니다.

  • ghOSt를 적용하기 전 테스트 결과


  • ghOSt를 적용한 후 테스트 결과


앞으로 ULE를 적용시켜서 이를 개선해보겠습니다!!