escala endpoint Taxa de transferência com alto QPS (Beta)
Beta
Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a este recurso na página de Pré-visualizações . Veja as prévias do Gerenciador Databricks.
Por default, os endpoints padrão suportam de 20 a 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, geralmente exigem de 100 a mais de 1000 QPS (consultas por segundo). Somente no endpoint padrão você pode definir um QPS mínimo. Databricks fornece a infraestrutura para suportar esse nível de taxa de transferência quando os índices são criados ou sincronizados.
Definir um provisionamento mínimo de QPS implica em capacidade adicional, o que aumenta o custo do endpoint. Você será cobrado por essa capacidade adicional independentemente do tráfego de consultas real. Para parar de incorrer nessas cobranças, redefina o endpoint para a configuração default usando min_qps=-1. A escalabilidade da taxa de transferência é feita da melhor maneira possível e não é garantida durante a versão Beta.
Use QPS alto quando:
- Sua aplicação requer mais de 50 QPS de Taxa de transferência sustentada.
- Você recebe erros 429 (Muitas solicitações) sob carga normal.
- A latência piora à medida que o tráfego aumenta, mesmo quando a utilização média parece baixa.
Requisitos
- O QPS elevado está disponível apenas para endpoints padrão. Pontos de extremidade otimizados para armazenamento não são suportados.
- A autenticação OAuth é necessária para endpoints que processam mais de 70 a 100 QPS (consultas por segundo). access tokens pessoal (PATs) têm uma taxa de transferência limitada a 70–100 QPS. Consulte Usar entidade de serviço com tokens OAuth.
Configure o QPS mínimo.
Defina um QPS mínimo ao criar um novo endpoint ou atualizar um existente. A capacidade adicional necessária para atingir a taxa de transferência desejada é calculada automaticamente na próxima vez que um índice no endpoint for criado ou sincronizado. Na versão Beta, o escalonamento da Taxa de Transferência é feito da melhor maneira possível e não é garantido: o QPS real depende do tamanho do seu índice, da dimensionalidade do vetor, da complexidade da consulta e do uso de filtros.
- Databricks UI
- Python SDK
- REST API
Ao criar um novo endpoint:
- Na barra lateral esquerda, clique em calcular .
- Clique na tab Pesquisa Vetorial e clique em Criar .
- Em Configurações Avançadas , insira o valor mínimo de QPS .
Ao atualizar um endpoint existente:
- Acesse a página de detalhes do endpoint.
- Localize o campo QPS mínimo no painel direito e clique no ícone de lápis ao lado do valor atual.
- Insira o novo valor e clique em Salvar .
Após alterar o QPS mínimo, sincronize seus índices para aplicar a nova configuração.
from databricks.vector_search.client import VectorSearchClient, MIN_QPS_RESET_TO_DEFAULT
client = VectorSearchClient()
# Create a new endpoint with minimum QPS
endpoint = client.create_endpoint(
name="my-high-qps-endpoint",
endpoint_type="STANDARD",
min_qps=500,
)
# Update an existing endpoint's minimum QPS
response = client.update_endpoint(name="my-endpoint", min_qps=500)
# Check scaling status
scaling_info = response.get("endpoint", {}).get("scaling_info", {})
print(f"Requested min QPS: {scaling_info.get('requested_min_qps')}")
print(f"State: {scaling_info.get('state')}")
# State is "SCALING_CHANGE_IN_PROGRESS" until the next index sync,
# then transitions to "SCALING_CHANGE_APPLIED"
# Reset to default (remove high QPS configuration)
client.update_endpoint(name="my-endpoint", min_qps=MIN_QPS_RESET_TO_DEFAULT)
Crie um endpoint com o mínimo de QPS:
POST /api/2.0/vector-search/endpoints
{
"name": "my-high-qps-endpoint",
"endpoint_type": "STANDARD",
"min_qps": 500
}
Atualizar o QPS mínimo em um endpoint existente:
PATCH /api/2.0/vector-search/endpoints/<ENDPOINT_NAME>
{
"min_qps": 500
}
Verificar o estado de escala:
GET /api/2.0/vector-search/endpoints/<ENDPOINT_NAME>
O campo de resposta scaling_info mostra o QPS mínimo solicitado e o escalonamento state. O estado é SCALING_CHANGE_IN_PROGRESS até que a próxima sincronização de índice seja concluída, então transita para SCALING_CHANGE_APPLIED.
Reset para o default (remover QPS alto):
PATCH /api/2.0/vector-search/endpoints/<ENDPOINT_NAME>
{
"min_qps": -1
}
Como o escalonamento se aplica
Após definir um QPS mínimo, a capacidade necessária será provisionada na próxima vez que um índice for criado ou sincronizado nesse endpoint . Para aplicar a alteração imediatamente, execute uma sincronização em cada índice hospedado no endpoint.
A tentativa de atualizar o QPS mínimo enquanto uma operação de escalonamento está em andamento retorna um erro RESOURCE_CONFLICT . Aguarde a conclusão das operações atuais antes de tentar novamente.
Limitações
- Sem dimensionamento automático : você deve definir manualmente o QPS mínimo com base no tráfego esperado. Se o tráfego exceder o nível de provisionamento, ocorrerão erros 429. Consulte o Plano para picos de consultas.
- Apenas endpoint padrão : o endpoint otimizado para armazenamento não suporta
min_qps.