Skip to content

Short Performance Test #266

Short Performance Test

Short Performance Test #266

# Workflow for triggering tests/quick_performance
on:
workflow_dispatch:
schedule:
- cron: '0 22 * * *'
name: Short Performance Test
jobs:
quick-performance:
runs-on: nvme-zns
timeout-minutes: 1440
steps:
- name: Clean
run: rm -rf ${GITHUB_WORKSPACE}/*
- name: Checkout rocksdb
uses: actions/checkout@v4
with:
repository: facebook/rocksdb
ref: v7.0.2
path: rocksdb
- name: Checkout zenfs
uses: actions/checkout@v4
with:
fetch-depth: 0
path: rocksdb/plugin/zenfs
- name: Create results directory
run: |
mkdir -p results
- name: Build RocksDB docker image
run: |
podman build --jobs=$(nproc) --cgroup-manager cgroupfs \
-t rocksdb-zenfs \
-f rocksdb/plugin/zenfs/.github/workflows/containerfiles/Dockerfile.rocksdb-zenfs \
--build-arg LIBZBD_GIT_CHECKOUT=v2.0.2 \
--build-arg ROCKSDB_DEBUG_LEVEL=0 \
.
- name: Set mq-deadline scheduler for the ZBD
run: |
echo deadline > /sys/block/${ZBD0}/queue/scheduler
- name: RocksDB mkfs zenfs
run: |
podman run --rm -i --device /dev/${ZBD0} \
rocksdb-zenfs \
bash -c "zenfs mkfs --zbd ${ZBD0} --aux_path /tmp/zenfs-aux --force"
- name: Run short performance test
run: |
podman run --rm -i --device /dev/${ZBD0} \
--volume ./results:/rocks/work/results:Z \
--security-opt unmask=/sys/dev/block \
rocksdb-zenfs \
bash -c "FS_PARAMS=--fs-uri=zenfs://dev:${ZBD0} PLUGIN_HOST=rocksdb TOOLS_DIR=/rocks/dest/bin ZENFS_DIR=/rocks/dest/bin OUTPUT_DIR=/rocks/work/results DB_BENCH_EXTRA_PARAMS=$(/rocks/dest/zenfs/test/get_good_db_bench_params_for_zenfs.sh ${ZBD0}) /rocks/dest/zenfs/test/run.sh rocksdb-zenfs-$(date '+%Y-%m-%d_%H-%M-%S' --utc)-$(uuidgen) quick_performance"
- name: Archive short performance test results
uses: actions/upload-artifact@v3
with:
name: quick_performance
path: ./results
if: always()
- name: Remove result dir
run: rm -rf results
if: always()
- name: Remove images
run: podman rmi --force --all
if: always()