laravel - 有什么开源免费的检测PHP应用性能的东西吗?

 竹林映uj 发布于 2022-11-28 09:36

就是可以针对一个PHP应用中一些函数调用和服务调用进行耗时监控等等的东西,我见过别人有一些内部的监控系统都是一个WEB界面访问之后就可以用表格以及像Echarts之类的统计图显示监控结果,请问这种东西是否有免费开源的?
我百度了半天只找到一个ONEAPM是收费的,另外想问问ONEAPM号称不需要改代码就可以监控是什么原理?我看他的操作指南是装了一个扩展,难道是这个扩展在底层hook了php的一些底层调用函数?不知道这玩意儿会不会有后门啊。。。

7 个回答
  • xhprof早就弃坑停止更新了.
    其实xdebug除了是一个调试器debugger,还是一个分析器profiler:

    ;https://pecl.php.net/package/xdebugzend_extension="/path/to/xdebug.so"xdebug.remote_enable=Onxdebug.remote_handler=dbgpxdebug.remote_host=127.0.0.1xdebug.remote_port=9001xdebug.remote_log="/path/to/xdebug.log";可以只开分析器profiler(区别于调试器debugger)xdebug.profiler_enable=Onxdebug.profiler_output_dir="/path/to/xdebug";http://xdebug.org/docs/all_settings#max_nesting_level;bench.php:Fatalerror:Maximumfunctionnestinglevelof'256'reached,aborting!;xdebug.max_nesting_level=1000000xdebug.cli_color=1;内存分析xdebug.auto_trace=1xdebug.trace_output_dir="/path/to/xdebug"xdebug.trace_format=0xdebug.show_mem_delta=1xdebug.collect_params=4xdebug.collect_return=1;命令行高亮xdebug.cli_color=1

    xdebug.profiler输出的信息cachegrind.out使用kcachegrind查看也可以看到PHP函数调用关系和耗时.

    另外,PHP-FPM也提供了一个slowlog慢日志功能,超过request_slowlog_timeout配置的函数会被记录下来.

    php-fpm.conf:slowlog=/path/to/slow.logrequest_slowlog_timeout=1当一个请求耗时超过1秒后,就会将对应的PHP调用堆栈信息(文件/函数)完整写入到慢日志中.slow.log:[10-Mar-201611:07:33][poolwww]pid11618script_filename=/path/to/your.php[0x00007fdd62f29260]shell_exec()/path/to/your.php:2
    2022-11-28 09:44 回答
  • 题主可以看一下Xhprof

    2022-11-28 09:44 回答
  • PHP性能追踪及分析工具(XHPROF)

    2022-11-28 09:44 回答
  • tideways一个还在维护的xhproffork。

    2022-11-28 09:44 回答
  • Blackfire

    2022-11-28 09:44 回答
  • 1wincachebrind+xdebug
    2web应用瓶颈在于数据库

    2022-11-28 09:44 回答
  • 百度性能测试中心

    2022-11-28 09:44 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有