検索

12.7. Profiling Crimson

download PDF

Profiling Crimson は、Crimson でのパフォーマンステストを行う手法です。次の 2 種類のプロファイリングがサポートされています。

  • フレキシブル I/O (FIO): crimson-store-nbd は、FIO で使用する NBD サーバーとして、設定可能な FuturizedStore 内部を示します。
  • Ceph ベンチマークツール (CBT): Ceph クラスターのパフォーマンスをテストするための Python のテストハーネス。

手順

  1. libnbd をインストールし、FIO をコンパイルします。

    [root@host01 ~]# dnf install libnbd
    [root@host01 ~]# git clone git://git.kernel.dk/fio.git
    [root@host01 ~]# cd fio
    [root@host01 ~]# ./configure --enable-libnbd
    [root@host01 ~]# make

  2. crimson-store-nbd をビルドします。

    [root@host01 ~]# cd build
    [root@host01 ~]# ninja crimson-store-nbd

  3. ブロックデバイスを使用して crimson-store-nbd サーバーを実行します。/dev/nvme1n1 のような RAW デバイスへのパスを指定します。

    [root@host01 ~]# export disk_img=/tmp/disk.img
    [root@host01 ~]# export unix_socket=/tmp/store_nbd_socket.sock
    [root@host01 ~]# rm -f $disk_img $unix_socket
    [root@host01 ~]# truncate -s 512M $disk_img
    [root@host01 ~]# ./bin/crimson-store-nbd \
      --device-path $disk_img \
      --smp 1 \
      --mkfs true \
      --type transaction_manager \
      --uds-path ${unix_socket} &
     --smp is the CPU cores.
    --mkfs initializes the device first.
    --type is the backend.

  4. nbd.fio という名前の FIO ジョブを作成します。

    [global]
    ioengine=nbd
    uri=nbd+unix:///?socket=${unix_socket}
    rw=randrw
    time_based
    runtime=120
    group_reporting
    iodepth=1
    size=512M
    
    [job0]
    offset=0

  5. コンパイルされた FIO を使用して Crimson オブジェクトをテストします。

    [root@host01 ~]# ./fio nbd.fio

Ceph Benchmarking Tool (CBT)

2 つのブランチに対して同じテストを実行します。1 つは main (マスター)、もう 1 つは選択した topic ブランチです。テスト結果を比較します。すべてのテストケースとともに、2 セットのテスト結果を比較するときに回帰を実行する必要があるかどうかをチェックする一連のルールが定義されます。回帰の可能性が見つかった場合は、ルールと対応するテスト結果が強調表示されます。

手順

  1. メインブランチとトピックブランチから、make crimson osd を実行します。

    [root@host01 ~]# git checkout master
    [root@host01 ~]# make crimson-osd
    [root@host01 ~]# ../src/script/run-cbt.sh --cbt ~/dev/cbt -a /tmp/baseline ../src/test/crimson/cbt/radosbench_4K_read.yaml
    [root@host01 ~]# git checkout topic
    [root@host01 ~]# make crimson-osd
    [root@host01 ~]# ../src/script/run-cbt.sh --cbt ~/dev/cbt -a /tmp/yap ../src/test/crimson/cbt/radosbench_4K_read.yaml

  2. テスト結果を比較します。

    [root@host01 ~]# ~/dev/cbt/compare.py -b /tmp/baseline -a /tmp/yap -v

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.