This week in caching: OPcache tuning case files
Three shops that stopped leaving free performance on the table:
— Laravel app, 1.4k files — raising opcache.memory_consumption from 128M to 256M and max_accelerated_files from 10k to 32k killed the silent cache evictions; CPU dropped ~18% because PHP stopped re-compiling on every miss.
— WordPress + heavy plugins — setting opcache.validate_timestamps=0 in prod (with a deploy-time reset) removed the stat() call per file and cut p95 latency by ~22%.
— API backend — enabling opcache.jit=tracing with a 100M buffer gave a measured 12% throughput bump on CPU-bound JSON serialization.
The lesson: an undersized OPcache thrashes silently. Watch the 'cache full' and restart counters, not just hit rate.
Bookmark: opcache_get_status() — read 'oom_restarts' and 'hash_restarts'; non-zero means you're undersized.
Cache Catch
@CacheCatch
This week in caching: OPcache tuning case files
Этот пост опубликован в Telegram-канале Cache Catch. Подписаться можно по ссылке: @CacheCatch.