13.7. Profiling Crimson
Profiling Crimson は、Crimson でのパフォーマンステストを行う手法です。次の 2 種類のプロファイリングがサポートされています。
-
フレキシブル I/O (FIO):
crimson-store-nbd
は、FIO で使用する NBD サーバーとして、設定可能なFuturizedStore
内部を示します。 - Ceph ベンチマークツール (CBT): Ceph クラスターのパフォーマンスをテストするための Python のテストハーネス。
手順
libnbd
をインストールし、FIO をコンパイルします。例
dnf install libnbd git clone git://git.kernel.dk/fio.git cd fio ./configure --enable-libnbd make
[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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow crimson-store-nbd
をビルドします。例
cd build ninja crimson-store-nbd
[root@host01 ~]# cd build [root@host01 ~]# ninja crimson-store-nbd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ブロックデバイスを使用して
crimson-store-nbd
サーバーを実行します。/dev/nvme1n1
のような RAW デバイスへのパスを指定します。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nbd.fio という名前の FIO ジョブを作成します。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンパイルされた FIO を使用して Crimson オブジェクトをテストします。
例
./fio nbd.fio
[root@host01 ~]# ./fio nbd.fio
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Ceph Benchmarking Tool (CBT)
2 つのブランチに対して同じテストを実行します。1 つは main
(マスター)、もう 1 つは選択した topic
ブランチです。テスト結果を比較します。すべてのテストケースとともに、2 セットのテスト結果を比較するときに回帰を実行する必要があるかどうかをチェックする一連のルールが定義されます。回帰の可能性が見つかった場合は、ルールと対応するテスト結果が強調表示されます。
手順
メインブランチとトピックブランチから、
make crimson osd
を実行します。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow テスト結果を比較します。
例
~/dev/cbt/compare.py -b /tmp/baseline -a /tmp/yap -v
[root@host01 ~]# ~/dev/cbt/compare.py -b /tmp/baseline -a /tmp/yap -v
Copy to Clipboard Copied! Toggle word wrap Toggle overflow