From 43e776dfb15ba5e0e4795dc72605daa761ed75ca Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Thu, 2 Jun 2022 20:06:36 +0300 Subject: [PATCH] [#1462] writecache: Persist objects in batches `Update` becomes a botleneck under a heavy load. Signed-off-by: Evgenii Stratonikov --- pkg/local_object_storage/writecache/persist.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/local_object_storage/writecache/persist.go b/pkg/local_object_storage/writecache/persist.go index 7dfc6c86a..deaadbb3e 100644 --- a/pkg/local_object_storage/writecache/persist.go +++ b/pkg/local_object_storage/writecache/persist.go @@ -81,7 +81,7 @@ func (c *cache) persistSmallObjects(objs []objectInfo) { cacheSize = newSize } - err := c.db.Update(func(tx *bbolt.Tx) error { + err := c.db.Batch(func(tx *bbolt.Tx) error { b := tx.Bucket(defaultBucket) for i := 0; i < overflowIndex; i++ { err := b.Put([]byte(objs[i].addr), objs[i].data)