quic: increase the buffer size used for encoding qlogs
@@ -58,7 +58,9 @@ func newQlogger(qlogDir string, role logging.Perspective, connID []byte) io.Writ
return &qlogger{
f: f,
filename: finalFilename,
- Writer: bufio.NewWriter(f),
+ // The size of a qlog file for a raw file download is ~2/3 of the amount of data transferred.
+ // bufio.NewWriter creates a buffer with a buffer of only 4 kB, leading to a large number of syscalls.
+ Writer: bufio.NewWriterSize(f, 128<<10),
}
}
@@ -76,7 +78,7 @@ func (l *qlogger) Close() error {
return err
}
defer f.Close()
- buf := bufio.NewWriter(f)
+ buf := bufio.NewWriterSize(f, 128<<10)
c, err := zstd.NewWriter(buf, zstd.WithEncoderLevel(zstd.SpeedFastest), zstd.WithWindowSize(32*1024))
if err != nil {
return err
