[wp-trac] [WordPress Trac] #59430: Improve loading performance of usermeta on large network sites.
WordPress Trac
noreply at wordpress.org
Fri Sep 22 18:25:22 UTC 2023
#59430: Improve loading performance of usermeta on large network sites.
------------------------------------+-----------------------------
Reporter: prettyboymp | Owner: (none)
Type: enhancement | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Users | Version: trunk
Severity: normal | Keywords:
Focuses: multisite, performance |
------------------------------------+-----------------------------
WordPress currently loads all of a User's meta when initializing the
current user data. This is normally fine, but begins to have scaling
problems on large networks where the user may end up with 1000's of meta
values being stored with their user. This starts causing quite a bit of
overhead when it comes to deserializing the data on every request along
with constant object cache misses due to limited cache sizes.
This starts to show up when just storing the user capabilities and
settings, but becomes worse when adding plugins that need to store some
small bit of user/blog specific data that doesn't necessarily warrant an
entirely new table for the plugin itself; e.g. WooCommerce.
Some initial thoughts on features that would be helpful:
1. Allow for blog specific segmentation of user meta. By default, we
should avoid loading the usermeta that is specific to other blogs on the
network.
2. The ability to not autoload a meta entry. Similar to how the options
work, we would avoid including these entries with the larger set when
attempting to cache the meta value and any of these would be cached as
their own separate entry.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/59430>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list