A Deep Dive into 592 Billion Interactions with PHP Systems

December 2, 2021

A Deep Dive into 592 Billion Interactions with PHP Systems

Our in-process data collectors, also known as “the tracers,” collect a lot of span data across our customers’ applications and services. And by a lot, we mean it. In September 2021, these components collected 38,320,426,250,000 unique spans, which mark a specific transaction. For those of you counting at home, that’s 38.3 trillion.

 


PHP entries

The “entry” is the kind of span that is recorded when a call “enters” a system. Could be a browser making an HTTP request or a message from a queue that enters the system.

If we take only entries into account, PHP is the 6th most used platform to record “entry” type interactions. That’s 591,959,461,000 interactions with PHP systems. 591.9 billion. What a number! And this is only a single month.

 

PHP at Instana - noteIn September 2021 alone, Instana tracers collected 38.3 trillion unique spans, which mark a specific transaction.

Recognizable PHP spans

There are some span types we only record for PHP environments. These include known frameworks or template engines. There are many others that originate in PHP applications such as calls to databases/caches and messaging systems, but those we only record for PHP.

SPAN TYPE
DESCRIPTION
NO. OF CALLS
php entry spans 59.1 billion
pdo common PHP database interaction 57.5 billion
symfony The Symfony Framework HTTP layer 8.4 billion
wordpress WordPress actions 7.2 billion
twig Twig template engine (often used in conjunction with Symfony) 2.9 billion
laravel Laravel framework HTTP layer 2.6 billion
blade Blade template engine (almost exclusively used in conjunction with Laravel) 1.9 billion
laminas Laminas Framework HTTP Layer 1.8 billion
laminasview The Laminas View Layer 1.1 billion
php.error Errors recorded through PHPs error system 625 million
zfview Zend Framework View engine 375 million
zf Zend Framework HTTP interactions 274 million

 

Some direct observations:

  1. Across the Instana customer base, the Symfony framework is roughly three times as popular as Laravel, when it comes to pure route invocations
  2. The Laminas framework accounts for way more transactions than the predecessor Zend framework

Interactions with PHP and version usage

Due to our combination of infrastructure and tracing data, we can tell a lot about which versions handle the most transactions across our customer systems. Instana currently supports PHP runtimes all the way from PHP 5.3 to 8.0.

Interactions with PHP: Instana supports PHP runtimes from PHP 5.3 to 8.0.
Instana supports PHP runtimes from PHP 5.3 to 8.0.

This is a report from our internal analytics engine, showing that PHP 7 has overtaken PHP 5 (yay!), and the share of PHP 8 is still small but present.

The minor version distribution highlights PHP 5.5 as the most used version when it comes to the number of transactions, directly followed by PHP 7.4.

When we exclude the customer who is the top producer of PHP spans, we get a more representative picture:

Interactions with PHP: We get a more representative picture when we we exclude one customer, the top producer of PHP spans, who is throwing off the averages.
We get a more representative picture when we we exclude one customer, the top producer of PHP spans, who is throwing off the averages.

PHP 7 runtimes are producing the majority of span data when removing the single biggest contributor of spans.

Interactions with PHP and CPU architecture

Since Instana’s inception, we’ve carried forward 64bit and 32bit versions of our PHP tracing extension, and we added support for aarch64 when AWS launched their EC2 ARM lineup.

In an attempt to focus on where it matters, we did some analysis on the CPU architectures in use and this is the picture, which speaks for itself:

Interactions with PHP: CPH arch distribution
Clearly amd64 is the only game in town.

Apparently, amd64 is the primary platform for our existing customers and 32bit consumers are non-existent. Aarch64 usage is also close to non-existent.

This will greatly help us scoping down further development of our Enterprise Observability platform, but you only know when you know!

Do you want to work with the PHP engine at scale? Come join us! We have a job offer out 🙂

Play with Instana’s APM Observability Sandbox

Developer, Engineering, Product
The OpenTelemetry Collector is the central data collection mechanism for the OpenTelemetry project. We're going to focus on different angles in subsequent articles, but for now let's look at it more generally....
|
Developer, Product, Thought Leadership
In my last blog post, I talked about the history and rapid adoption of the OpenTelemetry project. Today we discuss the progress made in terms of end-to-end compatibility between distributed tracing with...
|
Developer, Thought Leadership
In the past few years, distributed tracing has emerged in the global DevOps consciousness as an indispensable tool in the microservices arsenal. In April 2019, the open source observability community rose to...
|

Start your FREE TRIAL today!

Instana, an IBM company, provides an Enterprise Observability Platform with automated application monitoring capabilities to businesses operating complex, modern, cloud-native applications no matter where they reside – on-premises or in public and private clouds, including mobile devices or IBM Z.

Control hybrid modern applications with Instana’s AI-powered discovery of deep contextual dependencies inside hybrid applications. Instana also gives visibility into development pipelines to help enable closed-loop DevOps automation.

This provides actionable feedback needed for clients as they to optimize application performance, enable innovation and mitigate risk, helping Dev+Ops add value and efficiency to software delivery pipelines while meeting their service and business level objectives.

For further information, please visit instana.com.