How do I know if my program will perform well in production? What does it mean to “perform well”? How much memory will it need? How much traffic can it serve? Are there any memory leaks or race conditions? What part of processing takes up most of the time? Can I optimise it?

Every developer should be able to answer those questions about their code. But most of us don’t bother. Why? Because analysing performance is hard and as a result it is often skipped in the development process or ignored until things get really slow. Or we may simply not know where to start.

Writing efficient code is a valuable skill that takes time to learn. Being able to analyse performance can not only prove that our code is efficient and safe to run in production, but also teaches us what to avoid next time. It may seem daunting at first, but with the right tools at hand it is a highly rewarding process.

In this talk, we will analyse and optimise the performance of a simple PHP application. By demonstrating how to use some of the excellent open source projects such as xdebug, xhprof or php-meminfo, I hope to give you a good idea of where to start with analysing and optimising your PHP code.

Comments

Please login to leave a comment

Rated 5

Sonny Savage at 11:09 on 8 Feb 2019

Clear presentation with solid examples

Rated 5

Robb Erickson at 11:24 on 8 Feb 2019

Great session with actionable steps for implementing performance testing, delivered in a conscise presentation.

Rated 5

Glenn Kimble at 11:28 on 8 Feb 2019

Great talk with lots of good resources and examples to take away! I learned a lot.

Rated 5

James LaChance at 11:32 on 8 Feb 2019

Fantastic overview of how to get started with performance optimization the right way! Seeing that this talk was tagged as a beginner talk had me a bit hesitant as I've already been comfortable using xdebug's profiling and blackfire, but I picked up quite a few new tricks!

Great presentation

Rated 5

Chris Gearhart at 13:33 on 8 Feb 2019

Nice presentation, great topic to cover.

Rated 5

Nate Bockoven at 14:00 on 8 Feb 2019

Thank you for sharing example tools I may use to help pinpoint performance issues. I feel I'm better equipped to get in the habit of writing efficient code.

Rated 5

Andrew Cassell at 14:47 on 8 Feb 2019

Great overview of best practices for doing profiling locally (without using a SaaS)

There were a lot of good examples and suggestions. It was also helpful to be pointed at a few github projects to get started.

Rated 5

Brian Johnson at 16:25 on 10 Feb 2019

Easy to follow presentation, concrete understandable examples. This was a great talk.

Rated 5

Peter Fisher at 20:07 on 10 Feb 2019

A polished talk. I was especially grateful for the tooling explanations. My only recommendation is to have more details on flame graphs compared to the other metrics but that is a minor thing.

Rated 5

Carla Gouveia at 09:18 on 11 Feb 2019

Awesome talk, good examples.

Rated 5

Kimi Santoro at 13:19 on 11 Feb 2019

Sound talking points, relevant metrics and benchmarks to support the main objectives of the presentation and solid examples using the tools mentioned. The only suggestion I would make would be to spice up the PowerPoint a bit and give it some design quality and flare. I know its PHP but visuals always make presentations more interesting.