Magento Performance: Magento + Varnish Diagnostics
Running Varnish doesn’t automatically mean your Magento store is fast.
In many audits, Varnish is enableda but not effective.
Here’s a practical diagnostic + fix guide you can use in real projects
Step 1: Confirm Varnish Is Actually Working
Check response headers:
- X-Magento-Cache-Debug: HIT/MISS
- Age header present and increasing
If most pages = MISS → Varnish is acting like a proxy, not a cache.
Fix:
- Verify Magento cache type = Varnish
- Confirm correct VCL version deployed
Ensure traffic is hitting Varnish port (not bypassing to backend)
Step 2: Check Cache Hit Ratio (VIMP)
Use varnishstat
Look at:
- cache_hit
- cache_miss
Healthy pattern:
- Catalog traffic should have a strong hit ratio (often 75%+)
Red flag:
High traffic + low hits = fragmentation or over-purging.
Fix:
- Reduce unnecessary cache flushes
- Audit cookies and query params
Step 3: Detect Cookie-Based Cache Bypass
Common issue: cookies silently kill caching.
Symptoms:
- HIT in curl, MISS in browser
- Logged-out users missing cache
Quick test:
curl -I URL
curl -I -H “Cookie:” URL
If hit ratio improves without cookies → fragmentation confirmed.
Fix:
- Strip non-essential cookies in VCL (these can result in multiple versions of a page)
- Whitelist only required Magento cookies
- Audit analytics/personalization scripts
Step 4: Identify Multiple Cache Variants
Same URL cached multiple times due to:
- Cookies
- Currency
- Store view
- Tracking query params
- Device headers
Symptoms:
- Low hit ratio despite traffic
- High object count in Varnish
- Random performance per user
Fix:
- Avoid device-based hashing unless required
- Standardize currency strategy
Step 5: Check Invalidation Strategy
Over-purging is a silent performance killer.
Symptoms:
- Cache constantly cold
- CPU spikes during product updates
Fix:
- Audit modules triggering clean cache calls
- Avoid admin habits of manual flushes
Step 6: Measure Real TTFB
Cached pages should load extremely fast.
If cached TTFB is still slow:
- Backend leaks exist
- Network/CDN issues
- Compression or TLS misconfig
Check Google Search Console to get average response time (0.3 seconds).
Fix:
- Test origin (PHP code execution) vs edge TTFB (page from Varnish)
Advanced Diagnostics (When Needed)
- varnishlog → Inspect hash inputs
- varnishstat → Memory + hit trends
- Temporary debug headers in VCL
- Backend request monitoring during load
High-Impact Fixes (Real-World Wins)
In most Magento audits, biggest gains come from:
- Cookie normalization
- Query param cleanup
- Smarter invalidation
- Removing unnecessary cache variations
These alone can:
- 2–5x hit ratio
- Reduce backend load massively
- Stabilize TTFB under traffic
