Every Magento developer knows the pain of a slow Product Listing Page. Everything looks fine, the code seems clean, caching is enabled, and logs are not alarming. Yet the site feels slow, like something inside the system is quietly stealing seconds.
We saw this firsthand during a recent audit.
The PLP was taking more than 4 seconds TTFB, and none of the usual debugging methods gave us a clear direction.
Before we get into the story, it is important to understand what a profiler really does.
What is a Profiler
A profiler is a tool that shows where your code spends its time.
It helps you understand which functions, classes, or processes take longer than expected. It gives a complete view of what happens inside a request so you can find bottlenecks you normally cannot detect with logs or debugging alone.
You can think of it like an X-ray for your code execution. Magento developers usually begin with tools like Xdebug or Magento’s built-in profiler..
When Traditional Profilers Are Not Enough
We did what any Magento team would do:
- Enabled Magento profile
- Checked Xdebug traces
- Looked at DB queries
- Manually scanned templates
- Searched custom modules for loops
But the real clarity was missing with the existing tools.
The page was still taking over 4 seconds.We were still guessing.
This is where Tideways changed the entire direction.
Enter Tideways, the Profiler That Reveals the Full Story
The moment we enabled Tideways, the request flow became transparent. Tideways visualizes every part of a PHP request, end to end.
Controllers, models, DB queries, cache calls, external API requests, loops, memory usage, and even micro delays. Everything is stitched into a single trace so you understand not only what is slow but why it is slow.
Within minutes, Tideways pointed out the exact reasons behind the slow PLP.
What Tideways Found
1. A heavy DB query running multiple times
The same expensive query was triggered again and again.
Total wasted time: almost 800 ms.
2. An inefficient ld+json generator
A module was looping through every child product to generate structured data. Total time wasted: almost 1.2 seconds.
No inbuilt profiler would have shown this so clearly.
Fixing the problems was the easy part
Once we knew the cause, the solution took very little time.
- We cached the query results so it ran only once.
- We refactored the ld+json logic to avoid unnecessary loops.
Just two changes were enough.
The Impact
PLP TTFB dropped from 4 seconds to roughly 1.6 to 2 seconds.
Same server. Same configuration. Same page.
The difference was Tideways revealing the truth behind the scenes.
How to Set Up Tideways for Magento 2
Setting up Tideways with Magento 2 is straightforward. Here is the simplest version of the process.
1. Install the Tideways PHP Extension
On Ubuntu:
sudo apt-get install tideways-daemon tideways-php
Enable it in php.ini:
extension=tideways.so
Restart PHP FPM:
sudo service php8.1-fpm restart
2. Install the Tideways Daemon
sudo service tideways-daemon start
3. Configure the API Key
Add this to the environment:
export TIDEWAYS_APIKEY=”your_api_key_here”
Or add to the Tideways configuration file:
/etc/tideways/daemon.ini
4. Configure Magento to recognize it
No code change is needed. Once the extension is active, Tideways automatically detects Magento requests.
5. Login to your Tideways dashboard
You will start seeing:
- Full request traces
- Slow transactions
- Database breakdowns
- Flame charts
- Calls made by custom modules
- Exact hotspot functions
This is where the real journey begins.
Why Tideways Is Different
Xdebug and Magento profiler are meant for development.
Tideways is built for real-world performance engineering.
It gives you:
- Full call graphs
- Flame charts
- Query timings
- Memory consumption
- I/O waits
- Comparison of traces
- Continuous low overhead profiling
It shows the entire execution flow in one place.
Final Thoughts
Magento performance problems rarely have one obvious cause. They are usually small inefficiencies stacking up in unexpected places.
Tideways helps uncover these hidden stories.
For us, it was a turning point in solving a stubborn PLP issue.
If your pages still feel slow and the usual methods are not giving answers, try Tideways.
Your code is probably hiding something interesting.








