Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Standardmäßig unterstützen Standardendpunkte 20 bis 200 QPS je nach Indexgröße. Echtzeitanwendungen wie Suchleisten, Empfehlungssysteme und Entitätsabgleich erfordern häufig 100 bis 1000 QPS. Nur auf Standardendpunkten können Sie einen Ziel-QPS festlegen. Databricks stellt die Infrastruktur so bereit, dass sie diesem Durchsatzniveau bestmöglich entspricht (nach bestem Bemühen, ohne Gewähr).
Wichtig
Das Festlegen eines Ziel-QPS bietet zusätzliche Kapazität, wodurch die Kosten des Endpunkts erhöht werden. Sie werden für diese zusätzliche Kapazität berechnet, unabhängig vom tatsächlichen Abfragedatenverkehr. Die Durchsatzskalierung erfolgt nach bestem Bemühen und wird nicht garantiert.
Verwenden Sie hohe QPS in folgenden Fällen:
- Für Ihre Anwendung sind mehr als 50 QPS dauerhafter Durchsatz erforderlich.
- Sie erhalten 429 (Zu viele Anforderungen) Fehler bei normaler Auslastung.
- Die Latenz degradiert, wenn der Datenverkehr ansteigt, selbst wenn die durchschnittliche Auslastung niedrig erscheint.
Requirements
- High QPS ist nur für Standardendpunkte verfügbar. Speicheroptimierte Endpunkte werden nicht unterstützt.
- Verwenden Sie die Dienstprinzipal-OAuth-Authentifizierung und die Index-URL für Produktionsworkloads mit hoher QPS. Persönliche Zugriffstoken (PATs) und die URL für Arbeitsbereichsabfragen eignen sich für die Erstellung von Prototypen, verwenden jedoch nicht den optimierten Abfragepfad und sind auf einige Dutzend QPS begrenzt.
- Bei Delta Sync-Indizes, die verwaltete Einbettungsmodelle für Textabfragen verwenden, ist die optimierte Abfrageroute nicht verfügbar, wenn der Arbeitsbereich IP-Zugriffslisten oder private Konnektivität verwendet, z. B. Azure Private Link. In dieser Konfiguration erreicht der Endpunkt möglicherweise nicht den konfigurierten Ziel-QPS.
Ziel-QPS konfigurieren
Legen Sie eine Ziel-QPS fest, wenn Sie einen neuen Endpunkt erstellen oder einen vorhandenen aktualisieren. Die zusätzliche Kapazität, die erforderlich ist, um den Zieldurchsatz optimal abzugleichen, wird automatisch bereitgestellt. Die Durchsatzskalierung erfolgt nach dem Best-Effort-Prinzip und wird nicht garantiert: Die tatsächliche QPS hängt von Ihrer Indexgröße, der Vektordimensionalität, der Abfragekomplexität und der Verwendung von Filtern ab.
Databricks UI
Beim Erstellen eines neuen Endpunkts:
Klicken Sie in der linken Seitenleiste auf Compute.
Klicken Sie auf die Registerkarte "KI-Suche ", und klicken Sie auf " Endpunkt erstellen".
Geben Sie unter "Erweiterte Einstellungen" den Ziel-QPS-Wert ein.
Beim Aktualisieren eines vorhandenen Endpunkts:
Navigieren Sie zur Endpunktdetailseite.
Klicken Sie im rechten Bereich auf das Stiftsymbol
neben Target QPS.
Geben Sie den neuen Wert ein, und klicken Sie auf "Speichern".
Python SDK
from databricks.ai_search.client import AISearchClient
client = AISearchClient()
# 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"
REST API
Endpunkt mit Ziel-QPS erstellen:
POST /api/2.0/vector-search/endpoints
{
"name": "my-high-qps-endpoint",
"endpoint_type": "STANDARD",
"target_qps": 500
}
Aktualisieren von Ziel-QPS auf einem vorhandenen Endpunkt:
PATCH /api/2.0/vector-search/endpoints/<ENDPOINT_NAME>
{
"target_qps": 500
}
Überprüfen des Skalierungsstatus:
GET /api/2.0/vector-search/endpoints/<ENDPOINT_NAME>
Das Feld „Antwort“ scaling_info zeigt requested_target_qps und die Skalierung state an. Der Zustand ist SCALING_CHANGE_IN_PROGRESS , während die Kapazität bereitgestellt wird, und wechselt dann zu SCALING_CHANGE_APPLIED.
Abfrage der Index-URL
Nachdem der Endpunkt den Skalierungszustand SCALING_CHANGE_APPLIED erreicht hat, senden Sie Abfragen an die Index-URL, indem Sie ein OAuth-Token eines Dienstprinzipals verwenden. Diese URL ist erforderlich, um die zusätzliche Abfragekapazität zu nutzen, die von target_qps bereitgestellt wird.
Rufen Sie für Python Anwendungen einmal aufget_index(), und verwenden Sie das zurückgegebene Indexobjekt wieder. Das Python SDK sendet Abfragen an die Index-URL.
from databricks.ai_search.client import AISearchClient
client = AISearchClient(
service_principal_client_id="...",
service_principal_client_secret="...",
workspace_url="https://<workspace-url>",
)
index = client.get_index(endpoint_name="my-high-qps-endpoint", index_name="catalog.schema.index")
# Reuse this index object for every query.
index.similarity_search(query_vector=[...], columns=["id", "text"], num_results=10)
Rufen Sie bei REST- oder nicht Python Anwendungen zuerst die Index-URL ab, und senden Sie dann Abfrageanforderungen an diese URL. Das Token muss ein Dienstprinzipal-OAuth-Token sein.
export WORKSPACE_URL=https://<workspace-url>
export INDEX_NAME=catalog.schema.index
export TOKEN=<oauth-token>
export INDEX_URL=$(curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"$WORKSPACE_URL/api/2.0/vector-search/indexes/$INDEX_NAME" \
| jq -r '.status.index_url')
case "$INDEX_URL" in
http://*|https://*) ;;
*) INDEX_URL="https://$INDEX_URL" ;;
esac
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
"$INDEX_URL/query" \
--data '{"num_results": 10, "query_vector": [...], "columns": ["id", "text"]}'
Verwenden Sie für Produktionsdatenverkehr mit hoher QPS nicht die Abfrage-URL des Arbeitsbereichs, wie z. B. /api/2.0/vector-search/indexes/<index_name>/query. Diese URL verwendet nicht die optimierte Abfrageroute und gibt möglicherweise 429 Fehler zurück, bevor der Endpunkt den konfigurierten Ziel-QPS erreicht.
Wie die Skalierung angewendet wird
Nachdem Sie einen Ziel-QPS festgelegt haben, wird die erforderliche Kapazität automatisch bereitgestellt. Die neue Durchsatzstufe gilt nach Abschluss der Bereitstellung; Sie müssen keine Indizes synchronisieren, um die Änderung auszulösen.
Hinweis
Beim Versuch, die Ziel-QPS zu aktualisieren, während ein Skalierungsvorgang ausgeführt wird, wird ein RESOURCE_CONFLICT Fehler zurückgegeben. Warten Sie, bis der aktuelle Vorgang abgeschlossen ist, bevor Sie den Vorgang wiederholen.
Beheben von 429-Fehlern
Verwenden Sie bei Workloads mit hoher QPS diese Prüfungen, um den Engpass zu finden:
- Wenn Sie eine PAT- oder Arbeitsbereichsabfrage-URL verwenden, wechseln Sie zur OAuth-Authentifizierung des Dienstprinzipals und zur Index-URL.
- Wenn
scaling_info.stateaufSCALING_CHANGE_IN_PROGRESSgesetzt ist, warten Sie, bis sich der Zustand zuSCALING_CHANGE_APPLIEDändert. - Wenn Ihre Anwendung Vektorabfragen mit
query_vectorsendet, befindet sich das Einbettungsmodell nicht im Abfragepfad. Wenn 429-Fehler weiterhin auftreten, nachdem die Skalierung abgeschlossen ist, reduzieren Sie die Anforderungsparallelität oder legen Sie eine höheretarget_qpsfest. - Wenn Ihre Anwendung Textabfragen an einen Delta-Sync-Index mit von Databricks verwalteten Einbettungsmodellen richtet, könnte das Einbettungsmodell der Engpass sein. Verwenden Sie ein kleineres Einbettungsmodell, zum Beispiel
databricks-qwen3-embedding-0-6b, anstelle vondatabricks-gte-large-en, oder verwenden Sie einen Endpunkt für Foundation-Model-APIs mit bereitgestelltem Durchsatz oder einen anderen dedizierten Modellserving-Endpunkt für Einbettungen.
Limitations
- Keine automatische Skalierung: Sie müssen die Ziel-QPS basierend auf dem erwarteten Datenverkehr manuell festlegen. Wenn der Datenverkehr die bereitgestellte Ebene überschreitet, treten 429 Fehler auf. Siehe Plan für Abfrage-Spitzen.
-
Nur Standardendpunkte: Speicheroptimierte Endpunkte unterstützen
target_qpsnicht . - Optimierte Route erforderlich: Die konfigurierte Ziel-QPS gilt für Datenverkehr, bei dem die OAuth-Authentifizierung für den Dienstprinzipal und die Index-URL verwendet werden. Der PAT-Datenverkehr und der URL-Datenverkehr für Workspace-Abfragen sind auf einige Dutzend QPS begrenzt.
- Verwaltete Einbettungsmodelle können einen zweiten Grenzwert hinzufügen: Bei Delta-Synchronisierungsindizes, die ein verwaltetes Einbettungsmodell für Textabfragen verwenden, hängt der Abfragedurchsatz auch vom Einbettungsmodell ab, das den Endpunkt bedient. Erhöhen Sie die Kapazität des Modells, verwenden Sie den bereitgestellten Durchsatz, oder verwenden Sie selbstverwaltete Einbettungen für vorhersehbaren Abfragedurchsatz.