高いQPSでエンドポイントのスループットを拡張
プレビュー
この機能は パブリック プレビュー段階です。
デフォルトでは、標準エンドポイントはインデックスサイズに応じて20~200 QPSをサポートします。検索バー、レコメンデーションシステム、エンティティマッチングなどのリアルタイムアプリケーションでは、100~1000QPS以上の処理能力が求められることが多い。標準エンドポイントでのみ、目標QPSを設定できます。Databricksは、そのスループットレベルに最も適したインフラストラクチャをプロビジョニングします(ベストエフォート型であり、保証されるものではありません)。
ターゲット QPS プロビジョニングの追加容量を設定すると、エンドポイントのコストが増加します。 実際のクエリトラフィック量に関わらず、この追加容量に対して料金が発生します。これらの料金が発生しないようにするには、 target_qps=-1を使用してエンドポイントをデフォルト設定にリセットしてください。パブリックプレビュー期間中は、スループットのスケーリングはベストエフォート型であり、保証されるものではありません。
次の場合には高い QPS を使用します。
- アプリケーションでは 50 QPS を超える持続的なスループットが必要です。
- 通常の負荷では 429 (リクエストが多すぎます) エラーが発生します。
- 平均使用率が低いように見えても、トラフィックが増加するとレイテンシは低下します。
要件
- 高 QPS は標準エンドポイントでのみ利用できます。ストレージ最適化エンドポイントはサポートされていません。
- 70~100 QPS を超える処理を実行するエンドポイントには OAuth 認証が必要です。Personal ACCESS (PAT) のレートは 70 ~ 100 QPS に制限されています。 OAuthクラウドでサービスプリンシパルを使用する」を参照してください。
ターゲットQPSを構成する
新しいエンドポイントを作成する場合、または既存のエンドポイントを更新する場合は、目標QPSを設定してください。目標スループットに最も適した追加容量は、自動的にプロビジョニングされます。パブリックプレビュー版では、スループットのスケーリングはベストエフォート型であり、保証されるものではありません。実際のQPSは、インデックスサイズ、ベクトル次元数、クエリの複雑さ、およびフィルタの使用状況によって異なります。
- Databricks UI
- Python SDK
- REST API
新しいエンドポイントを作成する場合:
-
左側のサイドバーで 「コンピュート」 をクリックします。
-
[検索] タブをクリックし、 [エンドポイントの作成] をクリックします。

-
詳細設定 で、 目標QPS 値を入力します。

既存のエンドポイントを更新する場合:
-
エンドポイントの詳細ページに移動します。
-
右側のパネルで、鉛筆アイコンをクリックします。
Target QPS の隣。

-
新しい値を入力し、 「保存」 をクリックします。
from databricks.vector_search.client import VectorSearchClient, TARGET_QPS_RESET_TO_DEFAULT
client = VectorSearchClient()
# Create a new endpoint with target QPS
endpoint = client.create_endpoint(
name="my-high-qps-endpoint",
endpoint_type="STANDARD",
target_qps=500,
)
# Update an existing endpoint's target QPS
response = client.update_endpoint(name="my-endpoint", target_qps=500)
# Check scaling status
scaling_info = response.get("endpoint", {}).get("scaling_info", {})
print(f"Requested target QPS: {scaling_info.get('requested_target_qps')}")
print(f"State: {scaling_info.get('state')}")
# State is "SCALING_CHANGE_IN_PROGRESS" while capacity is being provisioned,
# then transitions to "SCALING_CHANGE_APPLIED"
# Reset to default (remove high QPS configuration)
client.update_endpoint(name="my-endpoint", target_qps=TARGET_QPS_RESET_TO_DEFAULT)
目標QPSを指定してエンドポイントを作成します。
POST /api/2.0/vector-search/endpoints
{
"name": "my-high-qps-endpoint",
"endpoint_type": "STANDARD",
"target_qps": 500
}
既存のエンドポイントの目標QPSを更新する:
PATCH /api/2.0/vector-search/endpoints/<ENDPOINT_NAME>
{
"target_qps": 500
}
スケーリングステータスを確認します。
GET /api/2.0/vector-search/endpoints/<ENDPOINT_NAME>
応答scaling_infoフィールドにはrequested_target_qpsとスケーリングstateが表示されます。容量がプロビジョニングされている間は状態はSCALING_CHANGE_IN_PROGRESSであり、その後SCALING_CHANGE_APPLIEDに遷移します。
デフォルトにリセット(高 QPS を削除):
PATCH /api/2.0/vector-search/endpoints/<ENDPOINT_NAME>
{
"target_qps": -1
}
スケーリングの適用方法
目標QPSを設定すると、必要な容量が自動的にプロビジョニングされます。新しいスループットレベルはプロビジョニング完了後に適用されます。変更をトリガーするためにインデックスを同期する必要はありません。
スケーリング操作の実行中にターゲットQPSを更新しようとすると、 RESOURCE_CONFLICTエラーが返されます。再試行する前に、現在の操作が完了するまでお待ちください。
制限事項
- オートスケールなし : 予想されるトラフィックに基づいてターゲット QPS を手動で設定する必要があります。 トラフィックがプロビジョニング レベルを超えると、429 エラーが発生します。 クエリの急増については、計画を参照してください。
- 標準エンドポイントのみ : ストレージ最適化エンドポイントは
target_qpsをサポートしません。