Open sandeshkr419 opened 7 months ago
Analyzing the profiling results, it looks like that readInts24 & readDelta16 are the major contributors to CPU cycles.
One optimization regarding reducing the number of reads with readInts24() was tried in https://github.com/opensearch-project/OpenSearch/issues/9541 but the run with nyc_taxi
workload did not yield significant improvement.
For time being, it looks like the improvements in range queries will be dependent dominantly by improvements in Lucene - specifically in their methods for readInt(s) if possible, unless we figure more areas of improvements.
Will update further if I discover more actionable optimizations. Welcoming feedback from the OpenSearch community as well.
@sandeshkr419 do we have more actionable learnings to call out or discuss here?
I have been trying to understand and improve the performance of range queries in OpenSearch. For this purpose, I have setup single node cluster, and ingested nyc_taxis dataset.
Setup:
opensearch-cluster-cdk
http-logs
workload via OSB to index data one-timeWhile running the above query load request, I collected the following cpu flamegraph:
Trying to further understand how can we reduce the
visitDocIDs()
cost for range query requests.Other OSB results/metrics for further comparison: