New Layer “Waiting for CPU” improves on “Unaccounted Wait”

Since Tideways PHP extension 5.17.0 the time spent in the “runqueue” is tracked, waiting for the CPU scheduler to continue the current process.

This improves the layer calculation of Tideways to explain a good part of what previously was tracked as “Unaccounted Wait” time.

The trace summary now includes this new metric and gives you an indication when the server have too much going on at the same time, meaning that the CPU cores have to put PHP processes to sleep for longer amounts of time because of too many running in parallel.

Like in this example where “Waiting for CPU” accounts for 225ms of the request.

About the author

  • Benjamin

Benjamin
Founder & CEO

I am the founder and CEO of Tideways. I started the company over 10 years ago with the mission to move the PHP ecosystem forward, starting with performance. As managing director, I work across product, strategy, and the day-to-day of building a developer-focused SaaS business.

I’m a core contributor to the Doctrine open-source project and a founding board member of the PHP Foundation, which reflects my long-standing commitment to the PHP ecosystem. I particularly enjoy working at the intersection of application performance, developer experience, and the open-source community that makes PHP what it is. Outside of work, I enjoy board games, hiking, and coffee.