Opened 10 years ago
Last modified 6 weeks ago
#32452 assigned defect (bug)
Cache optimizations
Reported by: | Relevad | Owned by: | pbearne |
---|---|---|---|
Milestone: | Awaiting Review | Priority: | normal |
Severity: | normal | Version: | 4.1 |
Component: | Cache API | Keywords: | has-patch |
Focuses: | performance | Cc: |
Description
Hi,
I've recently been making some custom modifications to wordpress core that reduce the resource load on our object-caching system.
I cannot see any drawbacks to these modifications, but I have to defer to the wp-core development team on this one and therefore assume I've missed something.
I want to know if there is anything I overlooked while making these modifications.
If there are no drawbacks, then perhaps the changes could be rolled into wp-core officially (and then I won't have svn showing files as modified all the time)
Explanation: (broken down into sections)
1) I noticed a huge amount of 'extra' queries to the object-cache.
Many of them originating from calls to wp_load_alloptions()
I believe with my modifications wp_load_alloptions() only needs to be called in one place instead of many, and that is within the definition of the object-cache itself.
2) I've also reduced redundant queries by changing the assumption that a key doesn't exist to a key does exist. Check the cache for the key first instead of checking the 'negative' cache for the key first.
3) Some minor fixes in options.php
All file changes (from svn diff) available at this link:
http://pastebin.com/5vPGCCt7
Attachments (1)
Change History (6)
#1
@
10 years ago
Just noticed I left some debug code in the wp-includes/cache.php
the error_log() calls are obviously not required.
#3
@
2 months ago
- Focuses performance added
- Keywords alloptions removed
- Milestone set to Awaiting Review
The attached patch will definitely need to be refreshed. Also, there has been a focus on performance lately, so this may not be an issue anymore.
Tagging with the performance
focus so the performance team can have a look.
This ticket was mentioned in PR #7967 on WordPress/wordpress-develop by @pbearne.
6 weeks ago
#4
- Keywords has-patch added
Integrate wp_load_alloptions()
into the cache initialization process to preload options. Handle 'alloptions' as a special case in wp_cache_add
to ensure efficient caching and retrieval. This change minimizes redundant database queries for option retrieval, improving performance.
pastebin link in diff uploaded form (paths corrected)