Magento got slow after an update: what changed and how to find it

The store was fine on Friday and slow on Monday, and the only thing that happened in between was an update. That narrows it down more than you might think.

Diagnosis8 min read

This is the most diagnosable version of a slow store, because you have something most investigations lack: a moment in time where it changed. Use that.

The instinct is to suspect the new code. In our experience it is usually simpler and duller: an update reset a setting, disabled something, or left a process in a state nobody checked.

The four things an update commonly changes

  1. Deploy mode. An update or a deployment script can leave the store in developer mode. Everything is slower and nothing is broken, so it goes unnoticed.
  2. Cache configuration. New cache types get added by an update and are not always enabled. A cache type that is off does not error, it just quietly does no work.
  3. Indexer mode. Indexers can come back on update-on-save after an upgrade, which turns every product edit into a wait and loads the database during business hours.
  4. Cron. If the update changed the PHP version or a path, the cron entry may still exist and no longer run. Everything then degrades over days rather than instantly.

When it really is the new code

Sometimes an extension that was fine on the previous version does something expensive on the new one, or a compatibility layer got pulled in that was not there before.

The way to find that is to compare rather than to guess. If you have measurements from before the update, compare per page type: a slowdown on every page points at configuration, a slowdown on one page type points at whatever is specific to that page.

If you do not have earlier measurements, this is the moment to start. Not for this incident, which you will solve by other means, but so that the next update is diagnosable in an hour instead of a day.

Staging exists for exactly this

The uncomfortable lesson in most of these cases is not technical. It is that the update went straight to production, or to a staging environment that does not match production closely enough to reveal a performance difference.

A staging environment with the same cache layer, the same search engine and a realistic amount of data turns this entire category of problem into something you find before your customers do.