PHP Performance Profiling

It's important to tune your code for any language. It's even more important for interpreted languages like PHP, which are a bit slower than compiled languages. Even in hybrid environments, profiling PHP nodes is still an important part of managing overall application performance. As a result, PHP profiling and tuning are constant subjects of discussion for PHP developers – where do you start? Which profilers are best? How do you measure the results of your efforts?

The problem is, without the proper visibility it's very difficult to know where to begin to get the most bang for your buck. Many developers spend hours or weeks on a performance optimization project only to find that it hasn't made the slightest difference in how the application performs.

To make performance optimization effective and efficient, it's important to have the right tools in place. This means you'll need a PHP profiler that's capable of monitoring your production environment, so you can find out what impact your optimization efforts have really had on your end users.

AppDynamics for PHP is an easy-to-use PHP monitoring solution designed for production environments. With AppDynamics, you can easily monitor your PHP code, identify bottlenecks, and drill down to the class and method level to identify root cause.

Key Benefits

  • Get 100% visibility into PHP performance
  • Drill down to code-level detail
  • Reduce Mean-Time-to-Resolution

Easy to install and use

PHP tuning has never been easier. AppDynamics automatically discovers and maps your PHP application and begins baselining performance for each Business Transaction. When performance starts to degrade, you can easily find the bottleneck in your application and begin troubleshooting.

Drill down to code-level detail

AppDynamics has the most complete call stack traces in any PHP performance tool. With AppDynamics you can quickly identify a poor-performing transaction, drill down into the call stack trace, and identify the line of code responsible for the latency.

No more alert storms

Many monitoring tools rely on static, global thresholds to send alerts, which results in alert storms (when set too low) or missed problems (when set too high). AppDynamics allows you to set alerts based on Business Transaction performance, so you'll only receive alerts when something's gone wrong.

More About PHP Monitoring

Get Started

Sign up for a free trial of AppDynamics for PHP.

Key Features of PHP Monitoring

  • Business Transactions: Automatic detection, response time, calls per minute, slow, very slow, stalls
  • Code-level Diagnostics: Diagnostic sessions showing complete code execution, policy-based collection available
  • SQL Statement Visibility: PDO statements & prep statements, remove sensitive data
  • Errors: Transaction errors, backend errors
  • Real User Monitoring: Browser diagnostics correlated with code-level diagnostics
  • Change Detection: Record application change events
  • Application Flow Map: Visualize all dependencies of your application
  • Real-Time Analytics: Automatic baselining and scoring of application and transaction performance
  • Disributed Transaction Tracing: Our monitoring agent has advanced tag-and-follow tracing capabilities that correlate calls made from your PHP application to any JVM or .NET backend tier.

Supported Environments for PHP Monitoring

PHP Versions
  • 5.3, 5.4, 5.5
Web Servers
  • Apache 2.2 in prefork mode
  • Apache 2.2 in worker MPM running FastCGI using php-fpm
  • Any web server running PHP-FPM
Operating Systems
  • RHEL/CentOS 5.8+
  • Ubuntu/Debian 12+
  • 32-bit and 64-bit x86
  • Drupal 7 using Drupal entry point type
  • WordPress 3.4 & 3.5 using Wordpress entry point type
  • Zend 1 & 2 using PHP MVC entry point type
  • Symfony 1 & 2 using PHP MVC entry point type
  • Magento 1.5, 1.6 & 1.7 using PHP MVC entry point type
  • HTTP using PHP Web entry point type
Transaction Naming
  • Drupal: page callback name
  • Wordpress: template name
  • PHP MVC: module:controller:action
  • PHP Web: URL
HTTP Exit Points
  • fopen
  • curl/curl-multi
  • drupal_http_request()
  • Zend_HTTP_Client::request()
  • file_get_contents()
DB Exit Points
  • PDO
  • MySQL (old native driver)
  • MySQLi
Cache Exit Points
  • memcached