Systems | Development | Analytics | API | Testing

Tideways 2026.3 Release

This Release introduces AI Performance Insights, expanding the Tideways CLI with access to monitoring, exception tracking, Slow SQL, and trace data for agentic performance analysis. We added PHP 8.6 compatibility and improved trace views and instrumentation. We’ve also added a broad range of new framework- and ORM-specific bottleneck detections for Shopware, Magento, Laravel, Symfony, and Doctrine.

Mythbusting "PHP is rarely the bottleneck," data shows 40% of time spent in PHP

In discussions about PHP performance optimizations and micro-optimizations, there is often someone hand-waving the discussion down with, “PHP is rarely the bottleneck; I/O is.” But is that really true? Our data shows otherwise: across 1240 production projects, the average time spent in PHP is 40.3%. For 34% of these projects, they even spent more than 50% of their time in PHP, not in I/O. So, PHP often is the bottleneck, and depending on the framework, the effect is even higher.

Updating access timestamps without wrecking the database

When you want to know the last time some user was seen or some resource was accessed/viewed, then usually you reach to a timestamp column and update this to the current time whenever it’s seen or accessed. You may have written this kind of SQL statement (or the equivalent) in your ORM yourself a few times: It looks innocent, but even on reasonably small tables, this can cause slow UPDATE statements regularly.

New in PHP 8.6: Narrowing the array_map vs foreach performance gap

With PHP 8.6, array_map gets about 10% faster in a synthetic benchmark — with zero changes to your code. My colleague Tim contributed the engine-level optimization that makes this possible. With PHP 8.6, the engine will automatically improve the following code: To turn array_map into a foreach loop as an engine optimization, PHP sees and executes this code as if it was written like this: This improves performance in a synthetic benchmark by about 10%.

Tideways 2026.2 Release

Understanding complex request traces is one of the hardest parts of performance analysis. In this Release, we focused on making this significantly easier in Tideways. The Timeline has been redesigned to provide a clearer view of how requests are executed, with new layout modes, improved navigation, and a more consistent span model. These changes help you follow execution order, understand dependencies, and identify performance bottlenecks faster, even in complex applications.

Fine-Tune Your OPcache Configuration to Avoid Caching Surprises

Learn more about one of the most important levers for optimal PHP performance. OPcache provides support for byte-code caching of PHP scripts. For a dynamic language such as PHP, a byte-code cache can increase the performance significantly because it guarantees a script is compiled only once. OPcache has been bundled with PHP as a loadable extension since PHP 5.5. Starting with PHP 8.5 OPcache is an integral part of PHP and always installed, but not necessarily always enabled.

Tideways 2026.1 Release

We’re rolling out a new wave of improvements across Tideways in our first Release of 2026, focusing on deeper visibility, smarter automation, and broader ecosystem support. From automatic tracepoints for selected transactions and improved exception workflows to enhanced FrankenPHP worker-mode instrumentation, these features continue to reduce manual effort while increasing observability.

Dodge the thundering herd with file-based OPcache

In the blog post about Fine-Tuning OPcache Configuration I mentioned the thundering herd problem that affects OPcache during cache restarts. When OPcache is restarted, either automatically or manually, all current users will attempt to regenerate the cache entries. Under load this can lead to a burst in CPU usage and significantly slower requests.

Performance Benchmark Report second half of 2025 for Shopware 6

How does your Shopware 6 store’s PHP backend performance compare to other operators of Shopware in general? To answer this question, we have aggregated and anonymized performance data from over 200 Shopware 6 stores over the second half of 2025 and computed benchmark numbers to compare to for the most important page types: Product details, Category, Search, and Homepage. We previously made these benchmarks for 2025 Q1, and 2025 Q2. Going forward, these will be published every 6 months.

PHP 8.5 Garbage Collection Improvements

Big optimizations in PHP’s memory consumption have become exceedingly rare. Since then, memory improvements have been smaller in scope, focusing on little details for certain types of variables. Like improving the Garbage Collector (GC) in edge cases, which Iljia Tovilo contributed to PHP 8.5 titled “Mark enums and static fake closures as not collectable”.