From b7412933ea9fc84604a6e544f4ef9d574a83323d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A5=B6=E4=B9=90=E4=BD=B3?= Date: Fri, 29 Nov 2024 14:20:19 +0800 Subject: [PATCH] fix: resolve timeout and performance issues in buffer write mode and AOF writes - resolve timeout issue after small-batch writes in buffer mode - address high disk usage and write bottleneck caused by forced AOF file sync --- internal/client/redis.go | 6 +++--- internal/utils/file_rotate/aof_writer.go | 4 ---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/internal/client/redis.go b/internal/client/redis.go index 15546e3..d830ece 100644 --- a/internal/client/redis.go +++ b/internal/client/redis.go @@ -204,9 +204,6 @@ func (r *Redis) SendBytesBuff(buf []byte) { } func (r *Redis) flushBuff() { - if atomic.AddUint64(&r.sendCount, 1)%100 != 0 { - return - } if !r.timer.Stop() { select { case <-r.timer.C: @@ -214,6 +211,9 @@ func (r *Redis) flushBuff() { } } r.timer.Reset(time.Second) + if atomic.AddUint64(&r.sendCount, 1)%100 != 0 { + return + } r.flush() } diff --git a/internal/utils/file_rotate/aof_writer.go b/internal/utils/file_rotate/aof_writer.go index 17647ef..fadb93f 100644 --- a/internal/utils/file_rotate/aof_writer.go +++ b/internal/utils/file_rotate/aof_writer.go @@ -50,10 +50,6 @@ func (w *AOFWriter) Write(buf []byte) { w.Close() w.openFile(w.offset) } - err = w.file.Sync() - if err != nil { - log.Panicf(err.Error()) - } } func (w *AOFWriter) Close() {