PHP 效能分析工具 APD 安裝方式

要分析 PHP 程式的效能,花費時間或 CPU 的使用情況等等,可以使用 PHP APD(Advanced PHP debugger) 來快速達成。

註:此篇是於 Debian / Ubuntu Linux 安裝

PHP 效能分析工具 APD 安裝方式

PHP APD 安裝方式,理論上應該要很簡單,使用 pecl install apd 即可。

但是 APD 已經很長一段時間沒有維護了,所以 pecl install、download install 等等,都無法順利完成。(找了不少 patch 都無法正常 compile)

最後找到這個「ZeWaren/pecl-apd -  PECL's PHP debugger and profiler, patched for PHP 5.5」,直接有 patch 完成的版本,就可以輕易使用。

PHP APD 安裝步驟

  1. 下述安裝步驟參考此篇:Setting up APD with PHP 5.6 (LAMP Stack) on Ubuntu Trusty
  2. sudo apt-get install php5-dev
  3. git clone https://github.com/ZeWaren/pecl-apd
  4. cd pecl-apd/
  5. phpize
  6. configure
  7. make
  8. sudo make install
    Installing shared extensions:     /usr/lib/php5/20131226/
  9. sudo chmod 644 /usr/lib/php5/20131226/apd.so
  10. sudo vim /etc/php5/mods-available/apd.ini # 寫入下述內容
    ; configuration for php APD module
    ; priority=10
    zend_extension=apd.so
    apd.dumpdir =/tmp/apd/trace
    apd.statement_tracing=0
  11. mkdir -p /tmp/apd/trace # 將 log 寫到這邊
  12. sudo chmod -R 777 /tmp/apd/
  13. sudo php5enmod apd # 啟用 apd
  14. sudo service apache2 reload

在想要分析 profiling 的程式最前面加上下述即可:

<?php
apd_set_pprof_trace();

// profiling code...
?>

操作方式可見此篇:PHP: How to use PHP-APD in your scripts

再來程式執行一次後,會產生 pprof.xxxxx.0,再使用 pprofp 來查看即可。

  • pprofp -c /tmp/pprof.22141.0
  • pprofp -R /tmp/pprof.22141.0
  • pprofp -r /tmp/pprof.22141.0
  • pprofp -u /tmp/pprof.22141.0

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料