For high-QPS AI Search endpoints in Databricks, I’d start by separating the problem into latency, throughput, scaling, and cost. Make sure you know your target QPS, acceptable p95/p99 latency, query size, embedding/model latency, and whether traffic arrives in bursts or stays steady.
A few practical best practices:
- Load-test with realistic traffic rather than relying on a small number of concurrent requests.
- Monitor p50/p95/p99 latency, errors, throttling, CPU/memory utilization, and queueing.
- Tune endpoint capacity and autoscaling based on sustained QPS as well as traffic spikes.
- Keep retrieval efficient by limiting unnecessary result sizes and avoiding expensive filtering where possible.
- Cache repeated queries or embeddings when the workload allows it.
- Use retries carefully with exponential backoff so a temporary slowdown doesn’t turn into a retry storm.
- Separate ingestion/update workloads from serving traffic when possible so index updates don’t negatively affect query performance.
- Measure cost per request alongside latency; simply adding capacity may solve QPS problems but create an unnecessarily expensive architecture.
The main questions I’d ask before choosing a configuration are: What QPS are you targeting, what p95 latency do you need, how large is the index, how frequently does it change, and are requests mostly identical or highly variable?
If you’re also looking for a straightforward web-based option to explore, playeggycar.io is another site you can check out.