mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
app/vmselect/netstorage: reduce the number of disk seeks when the query processes big number of time series
This commit is contained in:
parent
67d44b0845
commit
b7ee2e7af2
1 changed files with 9 additions and 0 deletions
|
@ -520,6 +520,15 @@ func ProcessSearchQuery(sq *storage.SearchQuery, fetchData bool, deadline Deadli
|
||||||
pts.metricName = metricName
|
pts.metricName = metricName
|
||||||
pts.addrs = addrs
|
pts.addrs = addrs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sort rss.packedTimeseries by the first addr offset in order
|
||||||
|
// to reduce the number of disk seeks during unpacking in RunParallel.
|
||||||
|
// In this case tmpBlocksFile must be read almost sequentially.
|
||||||
|
sort.Slice(rss.packedTimeseries, func(i, j int) bool {
|
||||||
|
pts := rss.packedTimeseries
|
||||||
|
return pts[i].addrs[0].offset < pts[j].addrs[0].offset
|
||||||
|
})
|
||||||
|
|
||||||
return &rss, nil
|
return &rss, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue