Dimensionar a taxa de transferência do endpoint de Pesquisa de IA com QPS alto
Visualização
Esse recurso está em Prévia Pública.
Por default, endpoints padrão suportam 20–200 QPS dependendo do tamanho do índice. Aplicações em tempo real, como barras de pesquisa, sistemas de recomendação e correspondência de entidades, frequentemente exigem 100 a 1.000+ QPS. Somente em endpoints padrão, é possível definir um QPS alvo. A Databricks provisiona a infraestrutura para melhor corresponder àquele nível de taxa de transferência (melhor esforço, não garantido).
Configurar um alvo de QPS prevê capacidade adicional, o que aumenta o custo do endpoint. Você é cobrado por esta capacidade adicional independentemente do tráfego de queries real. O escalonamento da taxa de transferência é de melhor esforço e não é garantido durante a Prévia Pública.
Usar alta QPS quando:
- Seu aplicativo requer mais de 50 QPS de taxa de transferência sustentada.
- Você recebe erros 429 (excesso de solicitações) sob carga normal.
- A latência é comprometida com o aumento do tráfego, mesmo quando a utilização média aparenta ser baixa.
Requisitos
- Alta QPS está disponível apenas para endpoints padrão. Endpoints otimizados para armazenamento não são suportados.
- Use a autenticação OAuth para entidade de serviço e o URL do índice para cargas de trabalho de produção de alto QPS. Tokens de acesso pessoal (PATs) e o URL de consulta do workspace são apropriados para prototipagem, mas não usam a rota de consulta otimizada e são limitados a algumas dezenas de QPS.
- Para índices do Delta Sync que usam modelos de incorporação gerenciados para consultas de texto, a rota de consulta otimizada não está disponível quando o workspace usa listas de acesso IP ou conectividade privada, como AWS PrivateLink. Nessa configuração, o endpoint pode não atingir o QPS de destino configurado.
Configurar QPS alvo
Defina um QPS alvo ao criar um novo endpoint ou ao atualizar um existente. A capacidade adicional necessária para melhor corresponder à taxa de transferência de destino é provisionada automaticamente. Na Pré-visualização Pública, o dimensionamento da taxa de transferência é baseado no melhor esforço e não é garantido: o QPS real depende do tamanho do seu índice, da dimensionalidade do vetor, da complexidade da consulta e do uso do filtro.
- Databricks UI
- Python SDK
- REST API
Ao criar um novo endpoint:
-
Na barra lateral esquerda, clique em Compute .
-
Clique na tab Pesquisa de IA e clique em Criar endpoint .

-
Em Configurações avançadas , insira o valor de QPS alvo .

Ao atualizar um endpoint existente:
-
Acesse a página de detalhes do endpoint.
-
No painel direito, clique no ícone de lápis
ao lado de **QPS alvo**.

-
Insira o novo valor e clique em Salvar .
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"
Criar um endpoint com QPS alvo
POST /api/2.0/vector-search/endpoints
{
"name": "my-high-qps-endpoint",
"endpoint_type": "STANDARD",
"target_qps": 500
}
Atualizar QPS alvo em um endpoint existente:
PATCH /api/2.0/vector-search/endpoints/<ENDPOINT_NAME>
{
"target_qps": 500
}
Verificar status de escalonamento:
GET /api/2.0/vector-search/endpoints/<ENDPOINT_NAME>
O campo scaling_info da resposta mostra o requested_target_qps e o dimensionamento state. O estado é SCALING_CHANGE_IN_PROGRESS enquanto a capacidade está sendo provisionada, e depois transiciona para SCALING_CHANGE_APPLIED.
Consultar a URL do Índice
Depois que o estado de escala do endpoint for SCALING_CHANGE_APPLIED, envie consultas ao URL do índice usando um token OAuth de entidade de serviço. Este URL é necessário para usar a capacidade de consulta adicional provisionada por target_qps.
Para aplicativos Python, chame get_index() uma vez e reutilize o objeto de índice retornado. O Python SDK envia queries para a URL do Índice.
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)
Para aplicativos REST ou não-Python, primeiro obtenha o URL do índice e, em seguida, envie solicitações de consulta para esse URL. O token deve ser um token OAuth para entidade de serviço.
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"]}'
Não use o URL de query do workspace, como /api/2.0/vector-search/indexes/<index_name>/query, para tráfego de produção de alto QPS. Esse URL não usa a rota de consulta otimizada e pode retornar erros 429 antes que o endpoint atinja o QPS de destino configurado.
Como o dimensionamento se aplica
Após definir um QPS de destino, a capacidade necessária é provisionada automaticamente. O novo nível de Taxa de transferência se aplica após o provisionamento ser concluído; não é necessário sincronizar os índices para acionar a alteração.
A tentativa de atualizar o QPS alvo enquanto uma operação de escalonamento está em andamento retorna um erro RESOURCE_CONFLICT. Aguarde a conclusão da operação atual antes de tentar novamente.
Solucionar problemas de erros 429
Para cargas de trabalho de alto QPS, use estas verificações para encontrar o gargalo:
- Se você usa um PAT ou a URL de consulta do workspace, mude para a autenticação OAuth da entidade de serviço e a URL do índice.
- Se
scaling_info.stateforSCALING_CHANGE_IN_PROGRESS, aguarde até que o estado mude paraSCALING_CHANGE_APPLIED. - Se seu aplicativo enviar queries de vetor com
query_vector, o modelo de embedding não estará no caminho da query. Se os erros 429 continuarem após a conclusão do dimensionamento, reduza a concorrência da solicitação ou defina umtarget_qpsmais alto. - Se o aplicativo enviar consultas de texto para um índice Delta Sync com modelos de incorporação gerenciados pelo Databricks, o modelo de incorporação pode ser o gargalo. Use um modelo de incorporação menor, como
databricks-qwen3-embedding-0-6b, em vez dedatabricks-gte-large-en, ou use um endpoint provisionado de Taxa de transferência para Foundation Model APIs ou outro endpoint dedicado de Model Serving para incorporações.
Limitações
- No autoscale : é preciso definir o QPS alvo manualmente com base no tráfego esperado. Se o tráfego exceder o nível de provisionamento, erros 429 ocorrerão. Ver Plano para picos de consulta
- Somente endpoints padrão: endpoints otimizados para armazenamento não
target_qpssuportam. - Rota otimizada necessária : o QPS de destino configurado se aplica ao tráfego que usa autenticação OAuth de entidade de serviço e o URL do índice. O tráfego PAT e o tráfego de URL de consulta do workspace são limitados a algumas dezenas de QPS.
- Modelos de incorporação gerenciados podem adicionar um segundo limite : para índices Delta Sync que usam um modelo de incorporação gerenciado para consultas de texto, a taxa de transferência de consulta também depende do endpoint de servindo modelo de incorporação. Aumente a capacidade de servindo modelo, use taxa de transferência provisionada ou use incorporações autogerenciadas para uma taxa de transferência de consulta previsível.