> Dev Tools >

Course Overview

Blackfire.io: Revealing Performance Secrets with Profiling

  • 1251 students
  • EN Captions
  • EN Script
  • Certificate of Completion

Your Guides

About this course

This tutorial can be used to learn how to profile any app - including Symfony 5.

What PHP libraries does this tutorial use?

// composer.json
{
    "require": {
        "php": "^7.1.3",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "blackfire/php-sdk": "^1.20", // v1.20.0
        "composer/package-versions-deprecated": "^1.11", // 1.11.99
        "doctrine/annotations": "^1.0", // v1.8.0
        "doctrine/doctrine-bundle": "^1.6.10|^2.0", // 1.11.2
        "doctrine/doctrine-migrations-bundle": "^1.3|^2.0", // v2.0.0
        "doctrine/orm": "^2.5.11", // v2.6.4
        "phpdocumentor/reflection-docblock": "^3.0|^4.0", // 4.3.2
        "sensio/framework-extra-bundle": "^5.4", // v5.5.1
        "symfony/console": "4.3.*", // v4.3.10
        "symfony/dotenv": "4.3.*", // v4.3.10
        "symfony/flex": "^1.9", // v1.21.6
        "symfony/form": "4.3.*", // v4.3.10
        "symfony/framework-bundle": "4.3.*", // v4.3.9
        "symfony/http-client": "4.3.*", // v4.3.10
        "symfony/property-access": "4.3.*", // v4.3.10
        "symfony/property-info": "4.3.*", // v4.3.10
        "symfony/security-bundle": "4.3.*", // v4.3.10
        "symfony/serializer": "4.3.*", // v4.3.10
        "symfony/twig-bundle": "4.3.*", // v4.3.10
        "symfony/validator": "4.3.*", // v4.3.10
        "symfony/webpack-encore-bundle": "^1.6", // v1.7.2
        "symfony/yaml": "4.3.*", // v4.3.10
        "twig/extensions": "^1.5" // v1.5.4
    },
    "require-dev": {
        "doctrine/doctrine-fixtures-bundle": "^3.2", // 3.2.2
        "easycorp/easy-log-handler": "^1.0.7", // v1.0.9
        "fzaninotto/faker": "^1.8", // v1.8.0
        "symfony/browser-kit": "4.3.*", // v4.3.10
        "symfony/css-selector": "4.3.*", // v4.3.10
        "symfony/debug-bundle": "4.3.*", // v4.3.10
        "symfony/maker-bundle": "^1.13", // v1.14.3
        "symfony/monolog-bundle": "^3.0", // v3.5.0
        "symfony/phpunit-bridge": "^5.0", // v5.0.3
        "symfony/stopwatch": "4.3.*", // v4.3.10
        "symfony/var-dumper": "4.3.*", // v4.3.10
        "symfony/web-profiler-bundle": "4.3.*" // v4.3.10
    }
}

We're developers... so of course we like fast stuff! But performance is more than a nice-to-have, it has a serious impact on how happy your customers are and (gasp) on sales! How sure are you that your app is as fast as it could be? Are there hidden (and maybe easy-to-fix) performance bottlenecks? And if there are... how can we find them? Ah, welcome to the science-art of profiling!

In this tutorial, we'll talk about our go-to profiling tool: Blackfire.io and how to leverage it to find any type of performance blocker. By mastering some skills, we'll find and eliminate real performance problems:

  • Blackfire setup, what it all means & profiling
  • Understanding the call graph: wall time vs IO time vs CPU time
  • Callers vs callees & optimizing calls
  • Deep profiled details: OPcache memory, RealPath cache, etc
  • Exclusive versus Inclusive call time
  • Profiling AJAX requests... and "all requests"
  • Profiling a command-line script
  • Investigating SQL query problems & network calls
  • Blackfire Environments & automated builds
  • Custom performance scenarios
  • Writing performance assertions
  • Automated performance checks
  • The Blackfire Player
  • The Blackfire SDK: generate custom profiles from your code
  • Using Blackfire in PHPUnit for performance assertions

Ready to find those hidden performance bugs and make your app fly? Let's do this!

Next courses in the Dev Tools: Tools, tools, tools! section of the Dev Tools Track!

5 Comments

Sort By
Login or Register to join the conversation
Alberto rafael P. avatar Alberto rafael P. 4 years ago

when will be available?

1 | Reply |

Hey Alberto!

It should be very soon! Most probably after Symfony Mailer tutorial that we're releasing right now. Thank you for interest in it and your patience :)

Cheers!

| Reply |
Alberto rafael P. avatar Alberto rafael P. Victor 4 years ago

Excellente!!! Good job

| Reply |
Fabrice avatar Fabrice 11 months ago

Hello, Blackfire is now fully paid. Is there an alternative we could use?

| Reply |

Hello @Fabrice,

Complex question, unfortunately I don't know any service which can provide such features as BF, as experiment you can try profiling with xdebug =)

Cheers!

| Reply |

Delete comment?

Share this comment

astronaut with balloons in space

"Houston: no signs of life"
Start the conversation!