Questions
3 of 13
1Why does Qdrant recommend disabling indexing (or raising the indexing threshold) during a large bulk import, then re-enabling it afterward?
2What is the purpose of the indexing_threshold setting, and how does it affect small versus large collections differently?
3How does GPU-accelerated indexing change the economics of re-indexing a large, frequently-updated collection?
4What is incremental HNSW indexing, and why does it matter for upsert-heavy workloads?
5Your Qdrant search endpoint's p50 latency looks fine, but p99 latency is very high. What are the most likely causes to investigate first?
6How would you reduce query latency for a collection that must remain on-disk due to its size, without moving the whole collection into RAM?
7What is the effect of increasing the number of search threads/parallelism on a single node with limited CPU cores?
8How would you benchmark whether a proposed quantization configuration is worth the accuracy trade-off for your workload?
9What's the difference between scaling Qdrant vertically (bigger node) and horizontally (more shards/nodes), and when does horizontal scaling stop paying off?
10Two teams store the same 50-million-vector collection - one keeps it fully in memory, one on disk with quantization. What operational differences should each expect?
11Why can moving the payload storage engine on-disk versus in-memory have a bigger impact on filtered-search latency than the vector storage location?
12How would you decide, for a specific collection, whether to enable quantization with rescoring versus simply moving vectors on-disk without quantization?
13What memory overhead does the HNSW graph itself add on top of the raw vector data, and why does that matter when planning RAM for an in-memory collection?
03 / 13

How does GPU-accelerated indexing change the economics of re-indexing a large, frequently-updated collection?

GPU indexing cuts build time, which changes when a rebuild is affordable

GPU-accelerated indexing moves the HNSW graph construction work onto a GPU, which has thousands of cores suited to the parallel distance computations and neighbor searches that dominate the build. The practical effect is that the wall-clock time to index a large collection drops substantially - often an order of magnitude on the right hardware and workload. That changes the economics in a specific way: re-indexing stops being a rare, carefully scheduled event and becomes something you can afford to do routinely. The two scenarios where this matters most are re-embedding a collection with a new model (which requires rebuilding every vector and therefore every graph) and handling high write volume where the optimizer is constantly indexing new segments. When a full rebuild takes days, you avoid it; when it takes hours, you can schedule it weekly; when it takes minutes, you can do it on demand.

The mechanism has limits that matter for the economics. GPU indexing accelerates the distance computations and the neighbor selection, but the build still has a graph-wiring component that is inherently more sequential and involves non-trivial memory access patterns. So the speedup is real but not uniform across all phases, and the achievable benefit depends on the vector dimension, the metric, and the m and ef_construct you chose. The other economic factor is hardware utilization: a GPU that is only used for indexing and idle the rest of the time is expensive, while a GPU that also serves query workloads or serves other indexing jobs amortizes better. In practice, GPU indexing makes the most sense for workloads where re-indexing is on the critical path - a model upgrade deadline, a very high write rate that outpaces CPU indexing, or a collection large enough that CPU builds take longer than the business can tolerate. For smaller collections or low write rates, the CPU build is fast enough and the GPU is not worth the operational complexity.

  1. 1

    Benefit: substantially reduced HNSW build wall-clock time, which makes re-indexing routine rather than exceptional.

  2. 2

    Best fit: model upgrades that require re-embedding, very high write volume, and very large collections where CPU builds are the bottleneck.

  3. 3

    Limits: not all build phases parallelize equally; the speedup depends on dimension, metric, and graph parameters.

  4. 4

    Operational cost: GPU hardware, driver and library dependencies, and the need to keep the GPU utilized to justify it.

  5. 5

    Interaction with the optimizer: faster indexing means the optimizer can keep up with higher ingest rates without a large unindexed backlog.

The trade-off is capital and operational complexity against build time. A GPU is expensive, and if indexing is not on the critical path you are paying for capacity you do not need. The decision rule I use is: estimate the CPU build time for the workload and compare it with the tolerance the business has for a rebuild window. If the CPU build fits comfortably in a maintenance window, do not add a GPU. If the CPU build is measured in days and the business needs it in hours, GPU indexing is worth evaluating. The common mistake is assuming GPU indexing removes the need to think about build parameters - it does not, it just makes a bad parameter choice cheaper to correct. The second mistake is assuming GPU indexing helps query latency. It does not, unless the workload was previously bottlenecked on optimizer activity competing with queries. The third mistake is treating the GPU as a drop-in accelerator without checking that the specific vector dimension, metric, and quantization configuration are supported. Version note: GPU indexing is a relatively recent and rapidly evolving capability in Qdrant, with hardware requirements and supported configurations that change between releases - verify availability and constraints on your version before designing a migration around it.

javascript

Version-dependent: GPU indexing support, the required hardware, and the specific configurations that are accelerated have all changed across Qdrant releases. In some versions only certain distance metrics or vector dimensions are supported, and the feature may require a specific deployment (a GPU-enabled build or a separate indexing service). Any claim about the magnitude of the speedup is version- and hardware-specific and should be measured on your own data before making a migration decision.

Difficulty: 8/10
Topics: GPU Indexing, Bulk Indexing, Index Configuration

Scenario Questions

0-2 years experience
  1. 1

    A teammate says GPU indexing will make queries faster. Explain what it actually accelerates and what it does not affect.

  2. 2

    You have a 1M-vector collection and a GPU available. Explain whether GPU indexing is worth using at this scale and why.

2-5 years experience
  1. 1

    You need to re-embed a 50M-vector collection with a new model and the CPU rebuild takes three days. Walk through how you would evaluate GPU indexing and what you would measure to justify it.

  2. 2

    Your ingest rate is high enough that the optimizer is always behind and segments stay unindexed. Explain how GPU indexing changes this and what else you would tune alongside it.

5-8 years experience
  1. 1

    Design an indexing pipeline for a collection that receives 20k writes per second and must stay fully indexed. Would you use GPU indexing, more CPU nodes, or a different ingest pattern? Justify with a cost model.

  2. 2

    You have a GPU that is idle 90 percent of the time and a collection that needs occasional full rebuilds. Propose a workload-sharing design that makes the GPU cost-effective.

8+ years experience
  1. 1

    Derive the break-even point where GPU indexing is cheaper than CPU indexing, accounting for hardware cost, utilization, and the value of reducing the rebuild window. What assumptions dominate the result?

  2. 2

    You are designing a system where the embedding model is upgraded every month and the collection is 500M vectors. Describe the indexing architecture, including how GPU indexing fits and what the failure modes are.

Follow-up Questions

  • How would you decide between a faster rebuild via GPU indexing and an incremental approach that avoids full rebuilds altogether?
  • If a GPU is available but only used for indexing a few hours a week, how would you justify the cost, and what other workloads could share it?