Skip to content

Commit f63a64d

Browse files
Ibrahim Jarifdanielmai
Ibrahim Jarif
authored andcommitted
perf(compression): Use gzip with BestSpeed in export and backup (#7643)
The export and backup code were using BestCompression and Default gzip compression levels respectively. We see a 4x speed improvement when switching from BestCompression to BestSpeed compression level.
1 parent b3e416e commit f63a64d

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

worker/backup_processor.go

+5-2
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,12 @@ func (pr *BackupProcessor) WriteBackup(ctx context.Context) (*pb.BackupResponse,
126126

127127
newhandler, err := enc.GetWriter(x.WorkerConfig.EncryptionKey, handler)
128128
if err != nil {
129-
return &response, err
129+
return &response, errors.Wrap(err, "failed to get encWriter")
130+
}
131+
gzWriter, err := gzip.NewWriterLevel(newhandler, gzip.BestSpeed)
132+
if err != nil {
133+
return &response, errors.Wrap(err, "failed to create new gzip writer")
130134
}
131-
gzWriter := gzip.NewWriter(newhandler)
132135

133136
stream := pr.DB.NewStreamAt(pr.Request.ReadTs)
134137
stream.LogPrefix = "Dgraph.Backup"

worker/export.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ func (writer *fileWriter) open(fpath string) error {
365365
if err != nil {
366366
return err
367367
}
368-
writer.gw, err = gzip.NewWriterLevel(w, gzip.BestCompression)
368+
writer.gw, err = gzip.NewWriterLevel(w, gzip.BestSpeed)
369369
return err
370370
}
371371

0 commit comments

Comments
 (0)