Problem/Motivation
A few performance enhancing settings like compression and ttl offset aren't enabled by default in 8.x-1.x, enable them by default in 2.x
Steps to reproduce
Proposed resolution
Remaining tasks
User interface changes
API changes
Data model changes
Issue fork redis-3570218
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #3
berdirDid quite a bit of testing, especially around the compression length setting but also the ttl offset to figure out good settings, because mostly, this issue is about that.
I exported a CSV of all the caches written, with their original length, compressed length and percentage of the compressed size. The savings are obviously especially large for the really large items. views_data, module list, tokens and so on have compressed size of typically around 4-10% of the original size with default serialize(). On the other end, tiny things are even a bit larger, for a few hundred characters it's around 75% but varies quite a bit. I went with 1000 now as the default, where the saving is around 50%. The thing is that most cache entries below 1000 are actually configs which are typically read from fast chained anyway. So 1000 seems like a good default tradeoff. I didn't compare with igbinary as most aren't using that. I know that the total compressed size is a bit lower than with serialize
Same for the TTL offset, so far I had 3600s in the docs, I wasn't sure about lowering the default to less, but decided to keep it at that. (large) sites that tend to have a lot of expiring caches and a lot of cache eviction may want to optimize this and lower it, I'll monitor this a bit further when we roll this out on production. The new drush redis report has some really neat reporting around that.
Comment #5
berdirMerged, created a CR.