We ran into an issue with a client who had define('SUPPORT_MONITOR_DEBUG' , true); and when they saw an increase in traffic this pushed our Redis servers to their bandwidth limits.
The reason for this is that the tenup_support_monitor_log option grew to around 5MB and was autoloaded, causing it to be part of the alloptions cache which is requested frequently.
We switched this option to not be autoloaded any longer and disabled the debug setting for now but it would be good to review all options that are being used (especially the ones which can grow large) and ensure they are not autoloaded (the default for new options when the autoload parameter is omitted when setting the option).
Furthermore, I would suggest truncating this option to not exceed 1 MB in (serialized) size as otherwise, this can have ill effects on common memcache setups which have a SLAB size of 1 MB.
Steps to Reproduce
Enable define('SUPPORT_MONITOR_DEBUG' , true); and log a lot of activity so the stored information becomes of reasonable size (in this case 5 MB)
Enable object caching with redis or memcache
Run a load test on the server through siege or similar
Evaluate bandwidth usage on redis/memcache
Screenshots, screen recording, code snippet
No response
Environment information
No response
WordPress information
No response
Code of Conduct
[X] I agree to follow this project's Code of Conduct
Describe the bug
We ran into an issue with a client who had
define('SUPPORT_MONITOR_DEBUG' , true);
and when they saw an increase in traffic this pushed our Redis servers to their bandwidth limits.The reason for this is that the
tenup_support_monitor_log
option grew to around 5MB and was autoloaded, causing it to be part of thealloptions
cache which is requested frequently. We switched this option to not be autoloaded any longer and disabled the debug setting for now but it would be good to review all options that are being used (especially the ones which can grow large) and ensure they are not autoloaded (the default for new options when the autoload parameter is omitted when setting the option).This particular option is set here https://github.com/10up/10up-experience/blob/14c8794c9c9b34764fa379c45d9112045db03ff4/includes/classes/SupportMonitor/Debug.php#L196
Furthermore, I would suggest truncating this option to not exceed 1 MB in (serialized) size as otherwise, this can have ill effects on common memcache setups which have a SLAB size of 1 MB.
Steps to Reproduce
define('SUPPORT_MONITOR_DEBUG' , true);
and log a lot of activity so the stored information becomes of reasonable size (in this case 5 MB)Screenshots, screen recording, code snippet
No response
Environment information
No response
WordPress information
No response
Code of Conduct