I wanted to start this issue to collate all of the configurations which use very old default values, that we might consider changing. The immediate ones that come to mind:
replica-lazy-flush no -> yes
lazyfree-lazy-user-flush no ->yes
There are many problems with running flush synchronously. Even in single CPU environments, the thread managers should balance between the freeing and serving incoming requests.
We should probably also revisit all of the datastructure limits (set-max-listpack-entries for example), which were probably tuned in a world with CPUs from a decade ago.
Comment From: eduardobr
repl-backlog-size 1mb is too small in most cases, but at the same time I think the real fix would be to make it dynamic (rough example: set min and max instead, and let redis choose a value in this range over time)
Comment From: zuiderkwast
So let's collect suggestions of new defaults here?
Comment From: madolson
Going to copy @xuliang0317 comment here to close the other issue.
Now repl-backlog-size is still 1mb,For most scenarios, this value is too small.Network transmission and bandwidth performance have improved rapidly in more than ten years,Memory is getting cheaper and cheaper. Although the impact is noted in the documentation, most Redis users will directly use the default configuration.In many scenarios, the traffic per second of a single node exceeds 1mb.Especially for businesses facing individual users. I recommend at least updating the configuration to 10mb to improve the rationality of the current repl-backlog-size.