Loadzen

← All articles

Magento8 min read

Why Is My Magento Site So Slow? Common Causes Explained

Diagnosing a slow Magento store starts with knowing where to look. Here are the most common root causes of poor Magento performance — and how to identify which one is affecting your site.

Magento is slow by default — here is why

Magento is a powerful platform built for large, complex catalogues. That power comes at a cost: out of the box, Magento generates pages by assembling dozens of blocks, executing database queries, and running PHP processes that add up quickly. Unlike lighter platforms, Magento requires deliberate configuration and server tuning to perform well.

If your Magento store is slow, it is almost never a single cause. It is usually a combination of server environment, caching configuration, database health, and frontend assets — each one adding latency on top of the last.


The most common reasons Magento sites are slow

1. Caching is not enabled or is misconfigured

Magento has several caching layers built in: full-page cache (FPC), block cache, and configuration cache. If any of these are disabled — which is common on development servers that someone forgot to re-enable in production — every page request regenerates from scratch.

How to check: In the Magento admin panel, go to System > Cache Management. Every cache type should show as "Enabled". If FPC is disabled, your store is generating every page dynamically on each request.

The fix: Enable all cache types. For high-traffic stores, replace the default Magento FPC with Varnish, which serves cached HTML at the edge without touching PHP at all.

2. MySQL is the bottleneck

Magento is database-heavy. A large product catalogue, many customer accounts, and years of order history all sit in MySQL tables that Magento queries on every request. Without query caching and a well-tuned MySQL configuration, the database becomes the slowest part of the stack.

Signs this is your problem:

  • Admin panel is slow even when the frontend cache is warm
  • New Relic or server logs show high database query times
  • The site slows significantly under concurrent load
  • The fix: Enable Redis for session storage and object caching. Tune MySQL's innodb_buffer_pool_size to match your available RAM. Run ANALYZE TABLE periodically on high-write tables. Index any custom database columns used in filters or sorting.

    3. No object cache (Redis or Memcached)

    Without an object cache, Magento stores session data and configuration in flat files on disk. Every page load reads and writes these files, creating I/O contention that gets progressively worse as traffic grows.

    The fix: Install Redis and configure Magento to use it for both sessions and the default cache. Redis is in-memory, so reads are orders of magnitude faster than disk reads.

    4. Unoptimised JavaScript and CSS

    Magento's RequireJS setup and its default JavaScript bundling strategy are known performance problems. Without JS bundling or critical CSS, every page load triggers dozens of separate HTTP requests for small JS and CSS files.

    Signs this is your problem:

  • PageSpeed Insights flags "Eliminate render-blocking resources"
  • The browser Network tab shows 50+ requests for JS/CSS files on a single page
  • Mobile scores are significantly worse than desktop
  • The fix: Enable Magento's built-in JavaScript bundling, or use a third-party extension that handles it more efficiently. Enable CSS merging in the admin. For Magento 2.4+, consider switching the frontend to Hyvä, which replaces RequireJS entirely.

    5. Large, unoptimised product images

    Product images served at full resolution — sometimes 3–5 MB per image — are one of the most common causes of slow category and product pages. Magento resizes images for thumbnails automatically, but this resize happens on the server on first request, and the originals are often far larger than needed.

    The fix: Use WebP format for all product images. Compress originals before upload. Enable Magento's image optimisation in the admin configuration. Use a CDN to serve images from a location close to the visitor.

    6. Too many third-party extensions

    Each Magento extension you install adds PHP classes that Magento must load and initialise on every request. Poorly coded extensions can add database queries, load unnecessary assets on every page, or interfere with caching.

    How to identify the culprit: Disable extensions one at a time in a staging environment and measure the impact on load time. Extensions that hook into layout XML, add observers, or inject JavaScript everywhere tend to be the worst offenders.

    7. Underpowered hosting

    Magento's minimum server requirements are higher than most other e-commerce platforms. Shared hosting is never appropriate. Even some managed cloud hosts run Magento on configurations too small for the catalogue size and traffic volume.

    Indicators of a hosting problem:

  • TTFB (Time to First Byte) is above 1 second on a warm cache
  • CPU usage spikes above 80% under normal traffic
  • The server is running PHP 7.4 or older
  • The fix: Magento 2 requires at minimum 2 CPU cores, 4 GB RAM, and PHP 8.1 or later for reasonable performance. Elasticsearch or OpenSearch for catalogue search is required at scale.

    8. The admin panel is slow specifically

    Slow Magento admin panels usually point to one of three things: grid indexers are out of date, the admin is running on the same server resources as the frontend, or MySQL slow query log is filling with admin-specific queries.

    The fix: Re-run all indexers (System > Index Management > Reindex All). Set indexers to "Update by Schedule" rather than "Update on Save" for large catalogues. If the admin and frontend share a server, consider moving the admin to a separate subdomain with dedicated resources.


    How to diagnose which problem is affecting your site

    1. Run a Loadzen speed check on your homepage to get a baseline PageSpeed score and Core Web Vitals reading.

    2. Check TTFB first. If Time to First Byte is above 600ms with a warm cache, the problem is server-side — hosting, PHP, or database.

    3. Check the frontend separately. If TTFB is fast but the page is still slow, the problem is JavaScript, CSS, or images.

    4. Test with cache disabled. If the site is fast with cache enabled but slow without, your caching is working but fragile — investigate what is invalidating it too frequently.

    Magento performance issues are almost always fixable. The key is measuring first, then fixing in order of impact.

    Related guide

    Magento Speed Optimisation Guide

    Check your own site

    Run a free speed check with Loadzen and get a prioritized fix plan for your specific platform.

    Run free speed check