VectorDBBench によるパフォーマンスベンチマーキング
VectorDBBench は、ベクトルデータベース用に特別に設計されたオープンソースのベンチマーキングツールです。
このトピックでは、VectorDBBench を使用して Zilliz Cloud のパフォーマンステスト結果を再現する方法を紹介します。
概要
VectorDBBench は、主流のベクトルデータベースおよびクラウドサービスのベンチマーク結果を提供するだけでなく、究極のパフォーマンスおよびコスト効率の比較のためのツールでもあります。
VectorDBBench は直感的な視覚インターフェースを提供します。これにより、ユーザーは簡単にベンチマークを開始でき、比較結果レポートを表示し、ベンチマーク結果を容易に再現できます。
実際の運用環境を模倣した VectorDBBench は、挿入、検索、フィルター検索を含む多様なテストシナリオを設定しています。信頼性のあるデータを提供するために、VectorDBBench には SIFT、GIST、Cohere などの実際の運用シナリオからのパブリックデータセットや、オープンソースの生データセット から OpenAI が生成したデータセットも含まれています。
ベンチマークメトリクス
メトリック | 説明 | テストシナリオ |
|---|---|---|
Max_load_count | ベクトルデータベースの容量。VectorDBBench は、データベースが失敗するか挿入要求を10回以上拒否するまでベクトルデータを挿入し続け、挿入されたエンティティの最大数を記録します。 Max_load_count の値が高いほど、ベクトルデータベースのパフォーマンスが高いことを示します。 | 挿入 |
QPS | ベクトルデータベースが1秒間に処理できる同時クエリの能力。VectorDBBench は複数回のトップ100検索を使用し、最高の QPS 値を選択して最終結果とします。 QPS の値が高いほど、ベクトルデータベースのパフォーマンスが高いことを示します。 | 検索およびフィルター検索 |
Recall | 検索結果と真の値を比較した検索精度の測定。 Recall の値が高いほど、ベクトルデータベースのパフォーマンスが高いことを示します。 | 検索およびフィルター検索 |
Load_duration | Zilliz Cloud がエンティティの挿入とインデックス作成のプロセスを完了するまでにかかる時間。 Load_duration の値が低いほど、ベクトルデータベースのパフォーマンスが高いことを示します。 | 検索およびフィルター検索 |
Serial_latancy_p99 | 99% のクエリが完了するまでにかかる時間。VectorDBBench は各トップ100検索の検索遅延を記録し、99パーセンタイル平均を最終結果として使用します。 Serial_latancy_p99 の値が低いほど、ベクトルデータベースのパフォーマンスが高いことを示します。 | 検索およびフィルター検索 |
前提条件
-
登録済みの Zilliz Cloud アカウント を持っている必要があります。
-
少なくとも1つのクラスターを作成 する必要があります。
-
Python 3.11 以降がインストールされている必要があります。
手順
テスト環境の設定
-
マシンをプロビジョニングします。
Zilliz Cloud の究極のパフォーマンスをテストするには、複数のスレッドを確保するために8つ以上の vCPU を持つクライアントマシンをプロビジョニングすることを推奨します。
-
ネットワークを構成します。
ネットワーク通信は特にクエリテストシナリオでテスト結果に影響を与える可能性があります。ネットワーク遅延の影響を軽減するために、以下を推奨します:
- クライアントを Zilliz Cloud クラスターと同じクラウドプロバイダおよびリージョンに展開します。
VectorDBBench のインストールと開始
# VectorDBBench をインストール
$ pip install vectordb-bench
# VectorDBBench を開始
$ init_bench
以下は出力例です。出力でローカル URL を取得します。これを使用して VectorDBBench の Web ユーザーインターフェースを開きます。
👋 Welcome to Streamlit!
If you’d like to receive helpful onboarding emails, news, offers, promotions,
and the occasional swag, please enter your email address below. Otherwise,
leave this field blank.
Email:
You can find our privacy policy at https://streamlit.io/privacy-policy
Summary:
- This open source library collects usage statistics.
- We cannot see and do not store information contained inside Streamlit apps,
such as text, charts, images, etc.
- Telemetry data is stored in servers in the United States.
- If you'd like to opt out, add the following to ~/.streamlit/config.toml,
creating that file if necessary:
[browser]
gatherUsageStats = false
You can now view your Streamlit app in your browser.
Local URL: http://localhost:8501
Network URL: http://172.16.20.46:8501
ホームページでは、VectorDBBench が提供するいくつかの事前定義されたテストデータセットを確認し、クイックパフォーマンスベンチマーキングに使用できます。
Web ページを下にスクロールして一番下まで行き、Run Your Test > をクリックして独自のベンチマーキングテストを構成します。

ベンチマーキングテストの構成
ベンチマーキング結果の表示
Results をクリックしてベンチマーキング結果を表示および分析します。以下はいくつかの例です。


オプションとして、左側のナビゲーションペインで DB Filter および Case Filter を設定して、事前定義されたベクトルデータベースおよびケースのベンチマーキング結果を比較できます。
データベース名は [databasename]-[dblabel] の形式です。

