VectorDBBench によるパフォーマンスベンチマーク
VectorDBBench は、ベクトルデータベース専用に設計されたオープンソースのベンチマークツールです。
本トピックでは、VectorDBBench を使用して Zilliz Cloud のパフォーマンステスト結果を再現する方法について説明します。
概要
VectorDBBench は、主流のベクトルデータベースおよびクラウドサービスのベンチマーク結果を提供するだけでなく、究極のパフォーマンスとコスト効率の比較を行うためのツールでもあります。
VectorDBBench は直感的なビジュアルインターフェースを提供します。これにより、ユーザーは簡単にベンチマークを開始できるだけでなく、比較結果レポートを表示し、ベンチマーク結果を容易に再現することができます。
VectorDBBench は実世界の運用環境を綿密に模倣しており、挿入、検索、フィルタリング検索など、多様なテストシナリオを設定しています。信頼性の高いデータを提供するため、VectorDBBench には、SIFT、GIST、Cohere、および OpenAI がオープンソースの raw dataset から生成したデータセットなど、実際の運用シナリオからの公開データセットも含まれています。
ベンチマーク指標
指標 | 説明 | テストシナリオ |
|---|---|---|
Max_load_count | ベクトルデータベースの容量です。VectorDBBench は、データベースが失敗するか、挿入リクエストを 10 回以上拒否するまで、ベクトルデータをベクトルデータベースに挿入し続け、挿入されたエンティティの最大数を記録します。 Max_load_count の値が高いほど、ベクトルデータベースのパフォーマンスが優れていることを示します。 | 挿入 |
QPS | ベクトルデータベースが 1 秒間に処理できる同時クエリの能力です。VectorDBBench は複数回にわたり top-100 検索を実行し、最も高い QPS 値を最終結果として選択します。 QPS の値が高いほど、ベクトルデータベースのパフォーマンスが優れていることを示します。 | 検索 & フィルタリング検索 |
Recall | 検索結果をグラウンドトゥルースと比較することで測定される検索精度です。 Recall の値が高いほど、ベクトルデータベースのパフォーマンスが優れていることを示します。 | 検索 & フィルタリング検索 |
Load_duration | Zilliz Cloud がエンティティの挿入とインデックスの構築プロセスを完了するのに要する時間です。 Load_duration の値が低いほど、ベクトルデータベースのパフォーマンスが優れていることを示します。 | 検索 & フィルタリング検索 |
Serial_latancy_p99 | クエリの 99% が完了するのに要する時間です。VectorDBBench は各 top-100 検索の検索レイテンシを記録し、99 パーセンタイル平均を最終結果として使用します。 Serial_latancy_p99 の値が低いほど、ベクトルデータベースのパフォーマンスが優れていることを示します。 | 検索 & フィルタリング検索 |
前提条件
-
登録済みの Zilliz Cloud アカウント が必要です。
-
少なくとも 1 つのクラスターを作成 してください。
-
Python 3.11 以降がインストールされている必要があります。
手順
テスト環境の設定
-
マシンをプロビジョニングします。
Zilliz Cloud の究極のパフォーマンスをテストするには、マルチスレッドを確保するために、8 vCPU 以上のクライアントマシンをプロビジョニングすることをお勧めします。
-
ネットワークを設定します。
ネットワーク通信は、特にクエリテストシナリオにおいて、テスト結果に影響を与えます。ネットワークレイテンシの影響を軽減するため、以下をお勧めします。
- クライアントを、Zilliz Cloud クラスターと同じクラウドプロバイダーおよびリージョンにデプロイ中。
VectorDBBench のインストールと起動
# Install VectorDBBench
$ pip install vectordb-bench
# Start 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が提供するいくつかの事前定義済みテストデータセットを確認し、それらを使って迅速にパフォーマンスベンチマークを実行できます。
ウェブページを下までスクロールし、テストを実行 > をクリックして、独自のベンチマークテストを設定します。

Configure your benchmarking test
View benchmarking results
結果 をクリックして、ベンチマーク結果を表示・分析します。以下は結果の例です。


必要に応じて、左側のナビゲーションペインで DBフィルター および ケースフィルター を設定し、事前定義されたベクトルデータベースおよびケースのベンチマーク結果を比較できます。
データベースは [databasename]-[dblabel] の形式で命名されています。

