[wp-trac] [WordPress Trac] #64854: Site Health: opcache full: need a Recommended Improvement notice.

WordPress Trac noreply at wordpress.org
Thu Mar 12 21:13:30 UTC 2026


#64854: Site Health: opcache full: need a Recommended Improvement notice.
-------------------------+---------------------------------------------
 Reporter:  OllieJones   |       Owner:  (none)
     Type:  enhancement  |      Status:  new
 Priority:  normal       |   Milestone:  Awaiting Review
Component:  Site Health  |     Version:  trunk
 Severity:  normal       |  Resolution:
 Keywords:               |     Focuses:  performance, php-compatibility
-------------------------+---------------------------------------------

Comment (by johnjamesjacoby):

 I think this is a good idea and worth doing, but needs careful thresholds
 so Site Health does not become a drama llama. It's like the second half of
 #63697, but I'd like signal-quality over alarm-volume.

 I like it because:
 * WordPress now exposes opcache info in Site Health so surfacing “enabled
 but saturated” is the natural next step
 * PHP exposes the bits needed to make this determination via
 `opcache_get_status()` (including cache state and interned-strings usage)
 and the opcache config docs explicitly describe how
 `opcache.memory_consumption`, `opcache.interned_strings_buffer`, and
 `opcache.max_accelerated_files` work
 * If the cache or interned strings pool is pegged, the site is leaving
 performance on the table and may churn more than it should; the PHP docs’
 recommended defaults are pretty thin and WordPress can easily be wider
 than those

 “100% full” may be too blunt by itself? A full'ish opcache is not
 ''automatically'' unhealthy:
 * `cache_full` / restart pressure
 * interned strings free memory near zero
 * key exhaustion via `max_accelerated_files`
 * perhaps wasted-memory pressure, if relevant

 Besides conservative thresholds, I would like to see separate handling
 for:
 * opcode memory full
 * interned strings full
 * script/key table exhaustion

 My opinion on the actual UX; something like:
 * “Opcode cache is enabled, but its memory appears saturated.”
 * “Interned strings buffer is exhausted or nearly exhausted.”
 * “Ask your host or server admin about increasing
 opcache.memory_consumption, opcache.interned_strings_buffer, or
 opcache.max_accelerated_files.”

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/64854#comment:1>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list