mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-15 16:30:55 +01:00
lib/mergeset: tune lifetime for entries inside block caches
This should reduce memory usage in general case without significant CPU usage increase
This commit is contained in:
parent
500acb958c
commit
35a23234ca
@ -221,8 +221,8 @@ func (idxbc *indexBlockCache) cleanByTimeout() {
|
|||||||
currentTime := fasttime.UnixTimestamp()
|
currentTime := fasttime.UnixTimestamp()
|
||||||
idxbc.mu.Lock()
|
idxbc.mu.Lock()
|
||||||
for k, idxbe := range idxbc.m {
|
for k, idxbe := range idxbc.m {
|
||||||
// Delete items accessed more than two minutes ago.
|
// Delete items accessed more than 90 seconds ago.
|
||||||
if currentTime-atomic.LoadUint64(&idxbe.lastAccessTime) > 2*60 {
|
if currentTime-atomic.LoadUint64(&idxbe.lastAccessTime) > 90 {
|
||||||
// do not call putIndexBlock(ibxbc.m[k]), since it
|
// do not call putIndexBlock(ibxbc.m[k]), since it
|
||||||
// may be used by concurrent goroutines.
|
// may be used by concurrent goroutines.
|
||||||
delete(idxbc.m, k)
|
delete(idxbc.m, k)
|
||||||
@ -375,8 +375,8 @@ func (ibc *inmemoryBlockCache) cleanByTimeout() {
|
|||||||
currentTime := fasttime.UnixTimestamp()
|
currentTime := fasttime.UnixTimestamp()
|
||||||
ibc.mu.Lock()
|
ibc.mu.Lock()
|
||||||
for k, ibe := range ibc.m {
|
for k, ibe := range ibc.m {
|
||||||
// Delete items accessed more than a two minutes ago.
|
// Delete items accessed more than 90 seconds ago.
|
||||||
if currentTime-atomic.LoadUint64(&ibe.lastAccessTime) > 2*60 {
|
if currentTime-atomic.LoadUint64(&ibe.lastAccessTime) > 90 {
|
||||||
// do not call putInmemoryBlock(ibc.m[k]), since it
|
// do not call putInmemoryBlock(ibc.m[k]), since it
|
||||||
// may be used by concurrent goroutines.
|
// may be used by concurrent goroutines.
|
||||||
delete(ibc.m, k)
|
delete(ibc.m, k)
|
||||||
|
@ -225,8 +225,8 @@ func (ibc *indexBlockCache) cleanByTimeout() {
|
|||||||
currentTime := fasttime.UnixTimestamp()
|
currentTime := fasttime.UnixTimestamp()
|
||||||
ibc.mu.Lock()
|
ibc.mu.Lock()
|
||||||
for k, ibe := range ibc.m {
|
for k, ibe := range ibc.m {
|
||||||
// Delete items accessed more than two minutes ago.
|
// Delete items accessed more than 90 seconds ago.
|
||||||
if currentTime-atomic.LoadUint64(&ibe.lastAccessTime) > 2*60 {
|
if currentTime-atomic.LoadUint64(&ibe.lastAccessTime) > 90 {
|
||||||
delete(ibc.m, k)
|
delete(ibc.m, k)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user