Contents (3)
At the start of every request WordPress loads every option marked for autoload in one go. Plugins that store large data with autoload on make every page pay for it.
Measure it
wp option list --autoload=on --format=total_bytes
wp option list --autoload=on --fields=option_name,size_bytes --orderby=size_bytes --order=desc | head -20
Since WordPress 6.6, autoload values are on, off and auto, and very large options are no longer autoloaded by default — but legacy data and plugins that force autoload on still cause trouble.
Fix it safely
wp option set-autoload some_heavy_option off
Don’t switch off an option that every request needs; target data that is read on a few pages only.
Where the object cache fits
With a persistent object cache such as Redis, the autoload set is one large cache key. If it exceeds the cache’s item size limit, every request falls back to the database. Keeping autoload small matters even with an object cache.
$ ./request_review
Facing the same problem in your own store?
Senior WordPress and WooCommerce backend engineering for complex production problems.
Request a Technical Assessment
## Comments