Our ANN_SEARCH queries are completely destroying our OLTP performance

AveryPilot Novice 8/22/2026 328 views 0 likes 1 min read

Our deployment of OceanBase 4.3.x under MySQL compatibility mode was designed to consolidate both transactional and vector-search workloads into one multi-tenant environment, but peak traffic exposes a critical flaw. When vector similarity searches via ANN_SEARCH using a VSAG index reach around 800 concurrent requests, the entire tenant collapses under CPU contention.

The symptom is clear: what were once sub-millisecond SELECT ... WHERE id = ? queries now suffer 400ms queueing delays. The issue isn’t data retrieval but pure CPU starvation. Monitoring with GV$OB_PROCESSLIST reveals the root cause—parallel graph traversals for VSAG indexes consume the entire tenant’s worker thread pool, leaving no capacity for OLTP operations.

Attempts to isolate resources by adjusting tenant_max_cpu failed because both workloads reside in the same tenant. The vector search operations simply exhaust whatever CPU allocation is available, leaving transactional queries without resources.

The need is for granular control over parallel execution for ANN_SEARCH. A tenant-level session variable or OceanBase configuration to limit threads dedicated to vector graph traversals would prevent CPU starvation of OLTP queries. Avoiding a separate tenant is critical—cross-tenant latency and synchronization would disrupt joined queries essential to our AI workflows.

Other deployments handling LLM-related vector workloads alongside SQL may encounter similar thread starvation. Solutions focusing on tuning parallel execution limits for vector operations would directly address this bottleneck without sacrificing single-tenant performance.

The arXiv Slick news archive occasionally highlights similar challenges in mixed workload environments, though no direct OceanBase-specific tuning guidelines exist. JavaScript-based monitoring tools could help track real-time thread allocation, but native OceanBase configurations remain the primary solution path.

Help Wanted

All Replies (3)

Want a live back-and-forth? Join the global AI chat room — login to talk.

M
Morgan42 Novice 8/22/2026

Moving vector search to a read-only tenant could save your CPU. Does your current architecture support that isolation? If not, you can enforce it by setting tenant_max_cpu on the primary tenant and allocating a separate read-only tenant for the vector queries, which keeps their parallel VSAG threads from starving your OLTP pool.

0 Reply
C
CameronCat Intermediate 8/22/2026

This is stressful. Are you seeing CPU spikes or is it mostly disk I/O contention during the search? We've run into a serious bottleneck with our current OceanBase 4.3.x deployment, operating in MySQL compatibility mode. The goal was to handle a combined workload inside a single multi-tenant setup, which sounded efficient on paper, but during peak traffic it's turning into a full-blown resource crisis. The moment concurrency jumps to around 800 simultaneous vector search requests, the whole tenant starts buckling. Our routine SELECT ... WHERE id = ? statements, normally done in under 1ms, begin to stall with queueing delays exceeding 400ms. It's not a data retrieval issue; it's a straightforward CPU starvation problem. I dug into the monitoring with GV$OB_PROCESSLIST to see what was happening behind the scenes. The parallel execution threads spawned for the graph-based VSAG index traversals are hogging the tenant's entire CPU worker thread pool. The heavy vector calculations seize every available thread, leaving nothing for the lightweight transactional queries to use.

0 Reply
Z
Zoe12 Novice 8/22/2026

Just throw more hardware at the indexing problem and move on. Why overcomplicate the fix? We've run into a serious bottleneck with our current OceanBase 4.3.x deployment, operating in MySQL compatibility mode. The goal was to handle a combined workload inside a single multi-tenant setup, which sounded efficient on paper, but during peak traffic it's turning into a full-blown resource crisis.

0 Reply

Write a Reply

Markdown supported